<< 23-07-2019 >>

00:00:19carkh$(winlean.getCommandLineW()) is the actual call i'm making
00:01:49carkhagain, it's working fine here (later conversions works), just want to make sure it is correct
00:15:35FromGitter<awr1> if it's working it's probably correct
00:15:57FromGitter<awr1> win32 utf16 weirdness is...weird
00:17:53carkhhaha we'll go with that then =)
00:41:05*zestyr quit (Quit: WeeChat 2.4)
00:44:01*laaron joined #nim
00:47:21*lritter joined #nim
00:52:23skrylar[m]and now its on the internet place https://github.com/Skrylar/offline-nim-docs
00:52:43skrylar[m]thought about a docset altho zeal search is kinda slow/clunk with a lot of docsets active
01:17:22*Cthalupa quit (Ping timeout: 248 seconds)
01:32:14*Cthalupa joined #nim
02:25:16*ryukophone joined #nim
02:25:43*ryukophone quit (Client Quit)
02:32:30*laaron quit (Remote host closed the connection)
02:33:02*laaron joined #nim
02:36:43*dddddd quit (Remote host closed the connection)
02:46:46*theelous3 quit (Ping timeout: 268 seconds)
02:51:13*ryukophone joined #nim
02:51:37*ryukophone quit (Client Quit)
03:00:04*lritter quit (Ping timeout: 246 seconds)
03:00:53*lritter joined #nim
03:02:41*ryukophone joined #nim
03:05:08*ryukophone quit (Read error: Connection reset by peer)
03:05:18*ryukophone joined #nim
03:14:52FromGitter<Varriount> Anyone here know how bash/ash/sh (or shells in general) define functions?
03:15:06FromGitter<Varriount> That is, how they internally store function data.
03:28:43shashlickNice @skrylar - I've been working on automating docset generation based on niv/nim-docset
04:03:44*fjellfras joined #nim
04:22:42*kungtotte quit (Read error: Connection reset by peer)
04:23:13*kungtotte joined #nim
04:35:20*nsf joined #nim
04:38:33*vlad1777d joined #nim
04:42:44*dgreen joined #nim
04:48:38FromGitter<Obround> Hi I'm new to Nim, I have this code(very messy): ⏎ ⏎ ```code paste, see link``` ⏎ ⏎ What does this error mean? How do I fix my code? [https://gitter.im/nim-lang/Nim?at=5d3691a68fe53b671dbeb08f]
04:55:34Araqwas easiest to do this way, clybber
04:58:38*dgreen quit (Quit: Leaving...)
05:05:45*narimiran joined #nim
05:15:04k0mpjut0rskrylar also see http://devdocs.io which supports offline documentation and Nim
05:20:36*dgreen joined #nim
05:26:13FromGitter<arnetheduck> defaulting to --threads:on something scheduled for 1.0 ?
05:41:42*ldlework quit (Ping timeout: 258 seconds)
05:42:52*ldlework joined #nim
05:47:51Tanger0bround: Hey mate. If you declare types that have cyclical dependencies, you need to declare them in the same type block
05:48:22Tanger0bround: So if you consolidate all of your types into a single block at the very top, that should get rid of that error
06:03:23*solitudesf joined #nim
06:06:30leorizeTanger: it's @Obround with an O :P
06:14:42Tangerlol
06:14:58TangerObround: See above :P
06:17:52*absolutejam4 joined #nim
06:28:45Zevv@varriount I can't do it, I can not find a way for nim to take my type and propagate it through the parser. macros don't do generics, and i dont know how to get a type or typedesc back out from a NimNode
06:31:07*snuffdtek quit (Ping timeout: 246 seconds)
06:31:32*disruptek quit (Ping timeout: 272 seconds)
06:33:06*absolutejam4 quit (Ping timeout: 248 seconds)
06:34:37*disruptek joined #nim
06:35:56ZevvHa. Guido van Rossum is considering doing a PEG based rework of the python parser: https://medium.com/@gvanrossum_83706/peg-parsers-7ed72462f97ca
06:36:10FromGitter<awr1> broken link
06:37:18Zevvoh https://medium.com/@gvanrossum_83706/peg-parsers-7ed72462f97c
06:37:37Zevvhe old paste-and-then-hit-a-random-key
06:38:12Zevvcommuting -> making a mess, sorry
06:38:21FromGitter<awr1> thanks
06:54:03*fjellfras quit (Ping timeout: 268 seconds)
06:54:58*vlad1777d quit (Ping timeout: 244 seconds)
06:59:55*stefanos82 joined #nim
07:00:00*gmpreussner quit (Quit: kthxbye)
07:02:36*dgreen quit (Remote host closed the connection)
07:04:49*gmpreussner joined #nim
07:15:51*fjellfras joined #nim
07:16:07*fjellfras quit (Remote host closed the connection)
07:25:18*NimBot joined #nim
07:26:00*SunDwarf quit (Ping timeout: 272 seconds)
07:28:13*SunDwarf joined #nim
07:31:36*absolutejam4 joined #nim
07:33:16*PMunch joined #nim
07:35:39FromGitter<zacharycarter> can I convert a sequence into an array?
07:35:43FromGitter<zacharycarter> will a cast do?
07:36:14FromGitter<zacharycarter> I guess it will - nm
07:37:08Zevvha have fun
07:38:44Zevvfirst, you can't cast to just-an-array, you need an explicit length. and then the seq itself is something separate from the data it holds, so you'll be casting the wrong thing
07:40:10FromGitter<zacharycarter> well I already had an array of 24 elements defined as a property on my object
07:40:26FromGitter<zacharycarter> and I grabbed a slice from a sequence of the same size as that
07:40:37*Jjp137 quit (Quit: Leaving)
07:40:53FromGitter<zacharycarter> so really I'm casting the slice of data from the sequence to the array
07:41:03FromGitter<zacharycarter> I'm not sure if that makes any difference - but nimsuggest doesn't seem to complain
07:41:34Zevvyou slice by openarray?
07:41:51FromGitter<zacharycarter> no - just like a subrange [0..23]
07:41:58Zevvthat's just making a copy, right?
07:42:15FromGitter<zacharycarter> I don't know - I guess I'll find out shortly
07:42:20*Jjp137 joined #nim
07:42:21Zevv:)
07:50:06*brakmic joined #nim
07:56:51*Vladar joined #nim
08:01:11FromGitter<mratsim> @awr1 happy to see you starting on CPU feature detection, I've left a comment on the PR
08:04:55*brakmic_ joined #nim
08:08:26*brakmic quit (Ping timeout: 272 seconds)
08:09:34PMunchWith the split between release and danger, are assertions now run in release code?
08:09:40*fjellfras joined #nim
08:09:46*floppydh joined #nim
08:10:18FromGitter<mratsim> just try it in the playground ;)
08:10:20*leorize quit (Ping timeout: 260 seconds)
08:10:37FromGitter<mratsim> I don't expect them to, assertiosn are not bounds check
08:10:46FromGitter<mratsim> it's debug information for me
08:20:07*leorize joined #nim
08:24:30FromGitter<arnetheduck> both indicate violated preconditions
08:24:59*absolutejam4 quit (Ping timeout: 258 seconds)
08:25:28FromGitter<arnetheduck> and both cause UB when violated, generally
08:29:22*Vladar quit (Remote host closed the connection)
08:30:39FromGitter<mratsim> yes but asserts are usually there to ensure that the libraries doesn't have bugs, while boundsCheck are more related to input validation (from users or network or something you don't control)
08:30:53FromGitter<mratsim> ugh, grammar
08:38:41Zevvgrammar!
08:39:49Araqall checks are enabled, including assertions
08:46:51*rokups joined #nim
08:52:22*Vladar joined #nim
08:53:00*Vladar quit (Remote host closed the connection)
08:53:22*alexander92 joined #nim
08:53:28*Vladar joined #nim
08:56:13*brakmic_ quit ()
08:57:26*couven92 joined #nim
08:59:48*clyybber joined #nim
09:09:15narimiranhttps://www.infoq.com/articles/got-nim/
09:09:35*moigagoo joined #nim
09:10:13*moigagoo quit (Client Quit)
09:19:35*krux02 joined #nim
09:27:17FromGitter<mratsim> why do they always all caps Nim :/
09:28:34ZevvYou should check out LUA
09:32:10FromGitter<mratsim> The author considers Swift as a scripting language :D "Pape has extensive experience with scripting languages, including Python, Swift, and JavaScript."
09:32:58clyybberHe also considers nim as a scripting language
09:33:16FromGitter<mratsim> well the article is fair, upside, downside, I don't agree with the audience of Nim, he is biaised by his scripting background
09:33:36FromGitter<mratsim> he does cover the "2-language problem" though
09:41:39clyybberAraq: When we have a call like in nimIntToStr, where we introduce a temporary for moving the result of rawNewStr, the original string returned by rawNewStr never gets destroyed, thus leaking
09:42:33clyybberSnippet of C code of nimIntToStr: http://ix.io/1PeH
09:44:49*shomodj joined #nim
09:45:23FromDiscord_<demotomohiro> Result of this code might looks strange, but actually working correctly.
09:45:23FromDiscord_<demotomohiro> https://play.nim-lang.org/#ix=1PeL
09:53:58FromGitter<arnetheduck> "python done right" yuck...
09:58:53*lritter quit (Quit: Leaving)
10:03:56FromGitter<zacharycarter> hmm - this is slightly disconcerting: `Future directions: Using GC'ed memory in packed pragma will result in a static error. `
10:04:06FromGitter<zacharycarter> like - how far in the future?
10:05:21stefanos82clyybber: I really wonder what those unnecessary curly brackets are doing right after addInt_mftMOxbyu0h4yByfs3sqjA
10:12:17clyybbernothing :p they are an artifact of *something*
10:14:24stefanos82something tells me it was supposed to have some kind of information in them lol
10:16:09clyybberIt's not the cause of my problem ;D
10:17:38clyybberAraq: One solution I can think of is making a rawNewStringV2 that returns a sink/var and patching injectdestructors to not gen temporaries for those.
10:18:22clyybberstefanos82: I think they are an artifact of some try: except: thing in compiler procs, not sure tho
10:19:37stefanos82maybe Araq can enlighten us
10:20:02narimirandemotomohiro: what you wanted to do is probably `join[T: not char]`
10:23:04FromGitter<mratsim> string / openarray char matching is really annoying...
10:37:12krux02stefanos82, nope Araq is on vacation
10:37:27stefanos82krux02: finally!
10:37:42krux02I am still here
10:37:59krux02so you can ask me
10:39:12krux02but I am sorry, I can't really talk about the new sink feature of the compiler as I am not working on it.
10:43:08clyybberI am the one working on it, so I should know :P
10:43:39clyybberbut I don't, and a few parantheses more don't matter
10:43:52*ryukophone quit (Ping timeout: 264 seconds)
10:44:15*ryukophone joined #nim
10:44:33stefanos82I find it quite fascinating that other languages as well emit C code. I wonder how they implement their security mechanisms to reduce or avoid memory leaks and such kind of issues
10:45:46*ng0 joined #nim
10:46:26*fjellfras quit (Ping timeout: 244 seconds)
10:47:08*sealmove joined #nim
10:49:01*arecaceae quit (Remote host closed the connection)
10:49:20*arecaceae joined #nim
10:55:55Zevvand of course "too many parentheses never hurt anyone" is a famous saying among lispers
11:00:11krux02Zevv lisp really isn't that bad
11:00:12*ryukophone quit (Read error: Connection reset by peer)
11:00:39*ryukophone joined #nim
11:01:07krux02xml is much worse with its end tags
11:03:29*absolutejam4 joined #nim
11:03:41clyybberI agree
11:03:45ZevvYeah but it never goes >>>>> :)
11:04:24Zevvas a dislectic I have a hard enough time distinguishing between p's and q's, let alone counting brackets. Luckily I have an computer to count for me
11:05:31*fjellfras joined #nim
11:06:23krux02what bothers me more in lisp are its seemingly arbitrary indentation rules.
11:06:58krux02at least in emacs the job is automated for me. But anybody who is not using emacs is basically not able to edit the files without getting the indentation wrong.
11:09:01clyybberZevv: It's not like I like ((())), I just hate <> </>
11:10:16lqdev[m]imagine writing C code in XML
11:15:55skrylar[m]shashlick: there is a script out there that does it from generic html files but.. docsets are just zips with sqlite databases iirc. zims are a little more complicated since they're meant to store say 180gb of collated ad compressed stackoverflow answers, but then st uff like kiwik is using xapian for heavy sifting through all that. but anyway. easy version is take beautifulsoup, read the html file from nim doc and then stuff
11:15:56skrylar[m]the link anchor in to sqlite
11:16:35clyybberlqdev[m]: Please stop, I've already seen this: https://github.com/KhronosGroup/Vulkan-Docs/blob/master/xml/vk.xml haha
11:18:12lqdev[m]fuck
11:18:14lqdev[m]what a behemoth
11:18:47Zevvwell that's not ment for human consumption anyway, is it
11:18:50FromGitter<gogolxdong> Is there anything breaking changes in new vulkan APIs?
11:18:50lqdev[m]well what'd you expect out of XML anyway
11:19:24lqdev[m]still XML isn't *that* machine friendly
11:20:18lqdev[m]JSON is way better in that regard since it easily maps onto your usual data structures
11:21:16*shomodj quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
11:21:51lqdev[m]and it's much more human-friendly too
11:23:57clyybbergogolxdong: No, and afaik vulkan doenst do breaking changes
11:24:21clyybberThey deprecated some stuff in the early phases, but most updates now are just adding various extensions
11:36:12*laaron quit (Remote host closed the connection)
11:36:33FromGitter<gogolxdong> Have you achieved your goal of using vulkan to computing map ,IIRC?
11:40:04*ryukophone quit (Ping timeout: 276 seconds)
11:40:30clyybberIt's not finished yet and I'm currently busy with implementing a new spec for the new runtime of nim
11:40:31*laaron joined #nim
11:40:42*ryukophone joined #nim
11:58:22*absolutejam4 quit (Ping timeout: 245 seconds)
11:59:18*absolutejam4 joined #nim
12:03:37*absolutejam4 quit (Ping timeout: 246 seconds)
12:06:55disruptekfor lisp, there's parinfer. https://shaunlebron.github.io/parinfer/
12:07:27disruptekparens are a solved "problem", and once you spend any time with it, it's a non-problem.
12:08:57clyybberAraq: I solved it differently now, I just don't introduce temporaries for calls that return a string.
12:15:33clyybberAnother option would be to allow returning var (making it work on the C backend with hidden parameters) and then making rawNewString return var.
12:18:38clyybberBut allowing var as a return type would be a language spec change, so this will do for now.
12:21:14*absolutejam4 joined #nim
12:21:24clyybberbbl
12:21:25*clyybber quit (Quit: WeeChat 2.5)
12:25:51FromGitter<alehander42> oh not using await
12:26:01FromGitter<alehander42> makes for cool bugs in javascripot backend
12:27:07*absolutejam4 quit (Ping timeout: 245 seconds)
12:29:31*ryukophone quit (Read error: Connection reset by peer)
12:38:39disruptekit's simply incorrect to call nim a scripting language. 🙄
12:49:29sealmoveguys check it out: https://github.com/sealmove/xhronicle
12:50:35krux02disruptek: I still prefer to write all my parens manually and then infer the indentation automatically.
12:50:42FromGitter<alehander42> i havent heard of xonsh
12:52:47sealmovealeh you should check it out then, it's amazing
12:52:59sealmovenext level shell scripting
12:55:16disruptekkrux02: what kinda lisp do you lisp?
12:55:23krux02emacs lisp
12:55:36krux02I kind of like it.
12:55:50*PMunch quit (Remote host closed the connection)
12:56:13FromGitter<alehander42> https://github.com/nim-lang/Nim/pull/11722
12:56:20krux02But my full time job is Nim, not customizing emacs.
12:56:22FromGitter<alehander42> kinda glad i dont contribute to the compiler
12:56:24FromGitter<alehander42> honestly
12:56:36krux02why?
12:58:26FromGitter<alehander42> it might be just my misunderstanding through several layers of language translation, but it just sounds so passive-aggressive :D
12:58:46FromGitter<alehander42> but it might be really language-specific phrasing which is different in german
12:59:26krux02I am not so sure about the "passive" part. But I am personally done with contributions from this specific persion.
12:59:49FromGitter<alehander42> well, honestly it seems like you have a grudge
13:00:17krux02on what?
13:00:28FromGitter<alehander42> differences are differences, but "lie" "had enough" "this person"
13:00:32FromGitter<alehander42> i feel like in high school again
13:00:46FromGitter<alehander42> anyway, probably i shouldn't comment more, as this is an internal team issue
13:00:50FromGitter<alehander42> you're in your right
13:01:10krux02I am sorry, that discussions here are all public. These things should not be in public.
13:01:37FromGitter<alehander42> i don't agree
13:02:02disruptekthere seem to be some technical problems with the pr, which are orthogonal to personal differences and/or presentation.
13:02:42FromGitter<alehander42> absolutely, but i just feel that they can be addressed in a different way, not like "i dont want stuff from that person anymore"
13:03:09krux02yea, they can be addressed in a different way.
13:03:28*fjellfras quit (Ping timeout: 246 seconds)
13:04:11FromGitter<alehander42> by which i don't mean "ban somebody and pretend nothing happened"
13:04:23FromGitter<alehander42> as this left a bad impression to me as well
13:04:37disruptekso we have a bunch of bugs that someone has to manually test against a new pull. why not codify those into a set of tests that are not breaking should they fail? then when things get fixed, we'll know and can close issues, etc. evaluating new patches to fix those tests will become trivial, and even composing patches will be easier.
13:04:38FromGitter<alehander42> but basically that's it: wanted to present my user viewpoint on it
13:04:45krux02If you care for my personal opinion.
13:04:59krux02I didn't like the "silence" part of the ban at all.
13:05:13krux02he was banned for quite some time.
13:06:45*Cea quit (Remote host closed the connection)
13:07:09krux02alehander42: please don.t waste your time on that guy. I read enough PRs and issues from him, literally hundreads. He is very talented.
13:07:12FromGitter<alehander42> yes, which teached a valuable lesson: why spending time on contributions on nim, if people can just ban you/make them not visible
13:07:35disruptekthis could even be automated with an issue label.
13:07:47krux02what issue label.
13:08:08disruptekthe take-the-code-and-turn-it-into-a-test label.
13:09:20disruptekmaybe i will build this for myself; it seems pretty great.
13:10:55krux02alehander42: You can be banned from everywhere when you have proven yourself as a toxic person.
13:10:57*sealmove quit (Quit: WeeChat 2.5)
13:11:17*sealmove joined #nim
13:11:57FromGitter<alehander42> nothing in this PR from him was toxic
13:12:10FromGitter<alehander42> please, let's not go deep into that discussion
13:12:25krux02My goal is to transform Nim into a great language. If you help me there. We are friends. Wen can also be friends if you don't help me. But when you constantly steal my time without improving anything, then it is a different story.
13:12:55FromGitter<alehander42> my problem is, that you use "steal"/"lie" so liberally: i seriously doubt he or other PR authors had malice at all
13:13:03FromGitter<alehander42> if that's so, you're very wrong
13:13:40FromGitter<mratsim> I agree with Alexander, your tone is too personal @krux02 on this PR, just highlighting the technical issues should be enough and will keep the conversation civil
13:13:42FromGitter<alehander42> your technical criticism might be spot on: a PR might be very bad indeed
13:13:48krux02alehander42, his claims are what is toxic. His PR was just flawed. But a flawed PR with claims to fix everything is toxic.
13:13:55disruptekit may not have been malicious, but it's draining to have to review/test a complex pr like that only to find that the text doesn't match the code.
13:14:32*sealmove quit (Client Quit)
13:14:43disruptekif he's as talented as you say, then why did that happen?
13:14:52*sealmove joined #nim
13:15:12FromGitter<alehander42> being pedantic is a very orthogonal trait
13:15:39FromGitter<alehander42> it might be a solid idea/prototype which wasn't tested/analyzed correctly
13:16:00FromGitter<alehander42> in all cases, this sounds way more probable to me than "oh i will just submit a wrong big PR just to lose krux's time"
13:16:01FromGitter<alehander42> come on
13:16:17disruptekcompilers tend to be pretty pedantic, in my experience.
13:16:39krux02disruptek: I don't know why that happens. I just know that this is not a problem that happens once. It is structural though all his PR's. And there are a lot of them that don't match the claims. And some point I am just tired to deal with it.
13:16:48FromGitter<alehander42> and his last comment is that he hasn't addressed many other comments: its obviously still WIP
13:17:29disruptekall the more reason to have automated infrastructure to actually know what a pr addresses and whether it fixes anything, in addition to knowing what it breaks.
13:17:40*shomodj joined #nim
13:17:47krux02I don't want a lenghty review project just to find out that instead of fixing the real problem, the problem was just made invisible by code obfuscation. I don't want that anymore. We have so many great contributors in Nim and they are all overshadowed by a single person.
13:17:51FromGitter<alehander42> so it's very simple: list the wrong claims and ask about that, maybe focus on the fact that one should really try to give working tests on X, Y (disruptek's ideas seem relevant) and offer more technical criticism
13:17:57FromGitter<alehander42> no place for personal stuff
13:20:02disrupteki'm sure the intention wasn't to lay a land mine, but that doesn't make the minelayer any less responsible for the explosion.
13:20:02krux02disruptek, for that PR automation would not help at all, because it suggests an alternative to ``quote do`` wich has a lot of issues. But when I tried his alternative I had to manually translate all the examples from the issues he mentioned, just to find out that all the problems of the old ``quote do`` still exist in the new ``genAst``. They manifest just in another form.
13:20:28disruptekkrux02: yeah, that makes sense.
13:20:50FromGitter<alehander42> well, in the moment you saw it requires a lot of further manual work, you could already comment "please, translate those examples so its easy to review"
13:21:01disruptekbut, there's still a class of bugs that are on the order of "this should work according to the spec but, currently, it does not".
13:21:13FromGitter<alehander42> whatever the technical problem is, the tone/suggestion is not good
13:21:23krux02alehander42: he has test cases
13:21:28krux02he did translate them.
13:21:43FromGitter<alehander42> but why did you have to manually translate them
13:21:45FromGitter<alehander42> then
13:22:15krux02But he traslated them not literally, but in a slightly skewed way that make the PR look like it fixed the problems. But in this slightly changed form, the genAst is as good as the old ``quote do``.
13:22:47*sealmove quit (Quit: WeeChat 2.5)
13:23:07*sealmove joined #nim
13:23:23krux02To me that just looks like cheat/illusion/fraud
13:23:46krux02not sure which word to pick there
13:24:17FromGitter<alehander42> or maybe people creating dsl-s know their edge cases and know what different idioms to use with them
13:24:21FromGitter<alehander42> not saying this is good
13:24:23*absolutejam4 joined #nim
13:24:37FromGitter<alehander42> but cheat/illusions is also totally not it for me
13:25:21krux02Well, then why did he list bold claims to fix _all_ issues for quote do?
13:25:28krux02Including those that were already fixed?
13:25:35FromGitter<alehander42> anyway, i can't understand why we are still having this discussion: you could express those annoyances with normal civil tone and let us see an explanation
13:25:48krux02To make the PR look more important than it actually is?
13:27:18krux02Another PR from him claimed that he made hashes 1000 times faster. But no prove for it at all. Just the big empty headline to make the PR look important.
13:27:26FromGitter<alehander42> well my understanding is that it offers ways to do stuff that quote do couldn't really do
13:27:37krux02nope
13:27:38krux02it doesn't
13:27:43FromGitter<mratsim> The hash has an regression issues linked to it
13:27:53FromGitter<mratsim> A regression issue*
13:27:56krux02I know that hash has a regression.
13:28:18FromGitter<alehander42> but whatever the issue is, what will resolve it is: listing those techincal problems in a normal way and see if a response arises
13:28:46FromGitter<alehander42> all this personal drama: could be avoided
13:29:38*absolutejam4 quit (Ping timeout: 245 seconds)
13:30:38krux02Well no, it can't. Reading issues and PR from this person does offend me personally.
13:31:42FromGitter<alehander42> let's not go into the the modern "X offends me" territory : )
13:31:49FromGitter<alehander42> that's not an argument
13:32:56FromGitter<mratsim> Also his issues are documented with a repro
13:33:14FromGitter<mratsim> And usually quite thorough
13:33:55krux02repro?
13:34:10FromGitter<mratsim> Reproduction code
13:35:09krux02his issues usually start with 10 links to other issues, so he can get attention on his issues.
13:36:02FromGitter<alehander42> all those accusations have other reasonable explanations
13:36:06FromGitter<alehander42> so please stop this stuff
13:36:09FromGitter<mratsim> It's also so you don't do twice the same investigation, I do that as well though I like to create a Meta bug
13:36:18krux02I made an issue template on github specifically for him, so that he doesn't do this annoying pattern anymore.
13:36:59krux02Id didn't work.
13:37:11krux02But at least new issues now have a consistent format.
13:37:27FromGitter<mratsim> Don't shoot the messenger, those issues actually exist. PR is different
13:37:31FromGitter<alehander42> the issue format is a great idea btw
13:37:40FromGitter<alehander42> but i agree with @mratsim some issues are epic-s
13:37:50FromGitter<alehander42> or related to many others indeed
13:39:09krux02these issues exist, that is true. But they are also often not related.
13:39:42krux02On top of that we had often issues reported from him that were already reported, sometimes already reported by himself.
13:40:45krux02We are a small team of developers. We can't fix all problems of Nim. We really struggle to find the important issues. And then we have a guy creating 10 issues a day.
13:41:33krux02And when I close a single one of them without doing proper investigations that it really is fixed we get discussions and lamenting in the IRC chat.
13:42:10FromGitter<alehander42> 19 issues created for the last ~month
13:42:57krux02yea
13:43:10FromGitter<alehander42> "10 issues a day"
13:43:22krux02he was blocked for months now
13:43:26FromGitter<alehander42> it's obvious after the ban, the pattern is different
13:43:32FromGitter<alehander42> and it's very dishonest
13:43:39FromGitter<alehander42> to bring those old stats
13:44:59krux02he opened alone 485 issues
13:45:15FromGitter<alehander42> but the whole point of the ban is that he should stop doing this stuff
13:45:27FromGitter<alehander42> so you should judge him on after-the-ban stats
13:45:30FromGitter<alehander42> seriously krux02
13:45:37FromGitter<alehander42> i am dissapointed from this discussion
13:45:42FromGitter<alehander42> going back to work
13:45:45Cadeyhow do i have multiple binaries in a nimble project?
13:46:04Cadeyit complains when i have another top level file in src/
13:46:33krux02http://ix.io/1PfU
13:46:48krux02Cadey, ^
13:47:08disruptekyou can't switch from old nim to new nim because using an else branch will give
13:47:10Cadeyah so i'd put the other binary in src/tradukilopkg?
13:47:13disruptekyou "all cases are covered" and the other will give you "uncovered cases.
13:47:21krux02@alexander42 his after the ban stats, well then we are at the PR that I reviewed today.
13:47:27disruptekmratsim: why is this bad? i love that feature for code migration.
13:47:31krux02I am sorry I don't see an improvement.
13:49:31krux02Cadey, you have to try it
13:49:37krux02I don.t know your code base.
13:49:43krux02the compiler will tell you if it works
13:51:19Cadeyah yep
13:51:22Cadeyokay cool thanks
13:52:00Cadeyhttps://github.com/Xe/tradukilo/commit/1b09a3c09ed598e63cdef1d6d4d0eea250c58f04
13:52:24FromGitter<alehander42> krux02 well man, it just sounds .. very personal still
13:52:29disruptekmratsim: the only downside i can see is that you pin the code to a specific version of the compiler, but that's why we have majors. i'd rather have a proc that could produce detail not captured by the enums.
13:52:50disruptekalehander42: because it doesn't get more personal than someone apparently wasting your time.
13:53:09FromGitter<alehander42> and not correct, it feels like "just make a pr which seems bad to us again and this is the end"
13:54:24FromGitter<alehander42> @disruptek if the author was anybody else, nobody would talk about wasting time and conspirations
13:55:19FromGitter<alehander42> conspiracies*
13:56:01FromGitter<alehander42> still: i am in the wrong, because i also became personal: i am sorry, you guys do great work, but i still think the whole treatment of the timothee stuff is very very worrying
13:56:03disrupteksadly, unless prs are anonymous, we're always going to be faced with considering them with more or less respect according to our respect for the source. it seems that some have lost respect among project leaders. i'm not sure you can lay the blame at the leaders for this, though i'm not defending krux02 in his response.
13:56:05FromGitter<alehander42> ok
13:56:34krux02disruptek, thank you
13:57:46disrupteki'm usually the guy wasting their time, but i've been on the receiving end many, many times, and it gets old faster when the personal providing the prs is more talented than the pr suggests.
13:57:58disruptek^person
13:58:54disruptekit's just annoying to have someone show you that they think their time is worth more than yours while they ask for your help to do their work, especially when that comes at a cost to the rest of the community.
14:02:11FromGitter<Varriount> Hrm. One of the problems with compiler development is that it's really easy to fix a problem, but fix it in such a way as to either break something outright, or introduce unneeded design flaws.
14:04:18*absolutejam4 joined #nim
14:04:54disruptekthat's why we work together.
14:06:40*krux02 quit (Ping timeout: 264 seconds)
14:14:01disruptekwhat i mean is, anyone can create a patch to solve their problems and merely keep it to themselves in their fork. once you begin a campaign to get that work integrated upstream, a new set of responsiblities comes into play.
14:14:10*absolutejam4 quit (Ping timeout: 246 seconds)
14:14:40disrupteki personally think nim's exception handling is broken, but until i'm ready to offer a solution that works for everyone, i'll simply stop whining about it or using it in my software. ;-)
14:23:47leorizenarimiran: isn't this a bit offtopic? https://github.com/nim-lang/Nim/issues/11717#issuecomment-514201280
14:24:15narimiran:D
14:24:36*theelous3 joined #nim
14:24:42FromGitter<alehander42> he has fans
14:24:58*couven92 quit (Read error: Connection reset by peer)
14:25:08narimirani sometimes miss not having github PMs
14:26:19leorizewe wouldn't need that many social networks :P
14:28:17FromGitter<Varriount> I've seen people (ab)use github issues as blog posts. Using them for social-network purposes isn't that far-fetched.
14:29:20FromGitter<Varriount> If anyone is visiting Virginia, I would love meeting up with them too. :P
14:29:43FromGitter<alehander42> btw i am proposing plovdiv for nimconf 2020
14:29:49FromGitter<alehander42> i totally forgot to make a RFC
14:30:25leorizehow does the RFC repo actually work?
14:31:01leorizeI don't think anyone actually submit RFC as PRs
14:31:20FromGitter<Varriount> leorize: Theoretically, people post large, language design issues there.
14:31:24FromGitter<alehander42> https://forum.nim-lang.org/t/4957 i know madrid is a strong candidate, but we have um katmi and artsy streets
14:31:31FromGitter<Varriount> @alehander42 https://www.google.com/flights#flt=/m/0rh6k.PDV.2019-08-08*PDV./m/0rh6k.2019-08-13;c:USD;e:1;sd:1;t:f
14:31:35FromGitter<Varriount> :<
14:32:05FromGitter<alehander42> yes the airport is just .. in a weird management state
14:32:10FromGitter<alehander42> but sofia is like very close
14:32:14FromGitter<alehander42> and it has many flights
14:32:26FromGitter<alehander42> ok, sofia is a more reasonable candidate :P but i had to try
14:32:40FromGitter<Varriount> O_o
14:33:12FromGitter<Varriount> @alehander42 Why is it cheaper for me to fly to Sofia, then it is for me to fly to Great Britain?
14:33:30narimiranlower airport fees?
14:33:35FromGitter<alehander42> we have like 4-5 bulgarian nim programmers
14:33:42FromGitter<alehander42> almost f i v e
14:33:56FromGitter<alehander42> we're a nim hub
14:34:31FromGitter<Varriount> @alehander42 Well, you could count on me flying there. I'll fly just about anywhere, as long as its relatively safe and the ticket doesn't eat my wallet
14:34:35FromGitter<alehander42> otherwise no idea btw, sofia-london usually have very cheap tickets as well, so it doesnt make sense to me
14:37:00*nif quit (Quit: ...)
14:37:08*nif joined #nim
14:38:14FromGitter<alehander42> @Varriount you have to visit eastern europe at least once
14:39:43FromGitter<mratsim> @disruptek are you talking about my SIMD review, I like the fact that for enum you get “not all cases covered” but for something that will evolve a lot like CPU features we should add procs progressively, so that the public API is stable
14:48:50sealmoveguys, how do I go about removing ansi color sequences from a string in nim?
14:53:18Zevvre/nre replace?
15:02:23sealmovereplace(re"\x1b\[[0-9;]*m") will do it?
15:05:00Zevvthat looks like perl, so should be pretty much ok I guess
15:05:22sealmovewow it worked
15:06:30FromGitter<alehander42> i should learn perl
15:07:58FromGitter<mratsim> you should implement perl in Nim :p
15:11:15FromGitter<alehander42> too complicated: for now barely working on a nim-like toy
15:11:28FromGitter<alehander42> perl in nim is like phd stuff :P
15:11:42FromGitter<Varriount> What about writing perl in perl?
15:14:59*absolutejam4 joined #nim
15:19:37*absolutejam4 quit (Ping timeout: 245 seconds)
15:19:41FromGitter<alehander42> perl 6
15:19:45FromGitter<alehander42> but not sure
15:19:58FromGitter<alehander42> how about c in nim btw
15:20:09FromGitter<alehander42> finally, having our own toolchain
15:20:15FromGitter<alehander42> nim to 01
15:20:18FromGitter<alehander42> in nim :P
15:25:04sealmovehas anyone tried perl 6?
15:32:06FromGitter<awr1> hello, @mratsim thx for the comments, will make some changes and commit something later
15:38:16*shomodj_ joined #nim
15:39:41*abm joined #nim
15:39:41*shomodj quit (Ping timeout: 258 seconds)
15:41:46*shomodj joined #nim
15:45:04*shomodj_ quit (Ping timeout: 272 seconds)
15:47:31*laaron quit (Remote host closed the connection)
15:58:31FromGitter<mratsim> you’re welcome
15:58:53FromGitter<mratsim> you can progress on the current things and add caching later btw
16:04:32*narimiran quit (Remote host closed the connection)
16:08:01*narimiran joined #nim
16:13:31FromGitter<alehander42> sorry again for my contribution remarks
16:13:53FromGitter<alehander42> i have to finally see if my nil pr has any valid future in it or not
16:14:08FromGitter<alehander42> @Araq https://github.com/alehander42/Nim/blob/ref-nilcheck/compiler/nilcheck.nim ? should i drop this, or should i eventually try to use a cfg
16:14:16FromGitter<alehander42> or do you plan to finish your own checks
16:14:38FromGitter<alehander42> (valid future like, am i gonna ever stop being lazy)
16:18:56*ng0 quit (Quit: Alexa, when is the end of world?)
16:19:07*dgreen joined #nim
16:19:14*ng0 joined #nim
16:30:24shashlicki'm working on https://github.com/nim-lang/Nim/pull/11814
16:30:50shashlickfor some reason on osx, i'm seeing a totally random issue
16:31:17shashlickhttps://github.com/nim-lang/Nim/blob/devel/koch.nim#L314 results in `bin/nim c --skipUserCfg --skipParentCfg --nimcache/nimcache/d_macosx_amd64 --compileOnly compiler/nim.nim`
16:31:46shashlicknote how the `--nimcache:$#` gets converted into `--nimcache/nimcache/d_macosx_amd64`
16:32:08shashlickwhere did the `:` go and where did the `/` come from?
16:33:08shashlicki know i'm working on osseps.nim which could have a bug, but this is just a strutils thing, no separators involved
16:33:19shashlickhttps://github.com/nim-lang/Nim/blob/devel/koch.nim#L289
16:33:24shashlickany ideas appreciated - thanks
16:44:51FromGitter<Varriount> shashlick: Be careful, osproc is dangerous territory. There are nasty things hiding in that jungle. 😳
16:54:48shashlickWho eats colons
16:57:14*iii-xvi joined #nim
17:08:56*iii-xvi quit (Read error: Connection reset by peer)
17:09:03federico3(sigh)
17:21:40*clyybber joined #nim
17:22:47*Trustable joined #nim
17:23:10*nsf quit (Quit: WeeChat 2.4)
17:26:15*rokups quit (Quit: Connection closed for inactivity)
17:26:40stefanos82shashlick: colonel of course!
17:29:35Araqalehander42 : keep it for now
17:41:10FromGitter<Varriount> Araq: Is there any other information on Nim's module mechanics, aside from what is in the manual? Things like, what an import statement is relative from, etc
17:42:22AraqI think nimc.rst has further information, relative is always relative to the path of the file that contains the 'import'
17:43:42*absolutejam4 joined #nim
17:50:43*ImVexed quit (Ping timeout: 260 seconds)
17:53:43*absolutejam4 quit (Ping timeout: 244 seconds)
17:58:33lqdev[m]shashlick: I'm trying to compile a nimterop wrapper on Windows, I get a missing DLLs error from toast (libgcc_s_seh-1.dll)
18:03:17*uplime is now known as uptime
18:06:20*natrys joined #nim
18:06:25dom96Araq, Did you export the videos?
18:07:08FromGitter<awr1> @lqdev[m] what is the wrapper for?
18:07:20lqdev[m]GLFW
18:07:47lqdev[m]and it uses the git module to get the source code from github
18:08:50lqdev[m]but it occurs with every wrapper I try, it's an error thrown by toast.exe
18:12:21FromGitter<awr1> apparantly some libraries/apps require the GCC structured exception handler dll thing that b/c they use mingw-w64 libc.
18:12:44FromGitter<awr1> according to google anyway
18:13:10lqdev[m]I suppose I should install MinGW manually?
18:13:34FromGitter<Obround> Is there some way you can declare a type that depends on another type without having to declare them in the same `type` block?
18:16:10FromGitter<awr1> @Obround if you don't want to put them in the same `type` block you have order your types such that the root type that's being referred to is above the type that's referring to it. if it's cyclic you need them both in the same type block. you can also try `{.experimental: "codeReordering".}` but ymmv
18:16:21*dmiles joined #nim
18:17:39FromGitter<awr1> also @lqdev[m] try -static-libgcc? statically linking to the mingw libc is weird but it may fix it
18:22:22FromGitter<awr1> does the nim stdlib even use libc on windows? i thought it just punched into the win32 DLLs directly
18:31:04FromGitter<Obround> @awr1 -- I get this error: `Error: invalid pragma: experimental: "codeReordering"`
18:31:35lqdev[m]@awr1 where do I pass that argument? --passL?
18:32:28FromGitter<awr1> yes
18:32:56FromGitter<awr1> @Obround which version of the compiler are you on
18:33:19FromGitter<Obround> Nim Compiler Version 0.20.0 [Windows: i386]
18:33:55FromGitter<awr1> where are you using it in the code? it should be a global pragma by itself at the beginning of the module, don't attach it to a type
18:34:41FromGitter<Obround> Oh, ok...
18:35:57FromGitter<awr1> the invalid pragma error could probably be more descriptive for valid pragmas in the wrong spot
18:37:19FromGitter<Obround> Nay, The pragma works but is un-able to re-order the code so that the two `types` are defined in the same block
18:38:39FromGitter<awr1> are these types cyclic
18:39:06FromGitter<awr1> code reordering will probably add types in the future
18:40:11FromGitter<awr1> but like i said if they are cyclically-referent they need to be in the same block
18:40:39disruptekmratsim: maybe a `case` is simply the wrong concept and what you want is a set of enums. i'm not saying `proc` isn't simple, just that it may not be the simplest. i try to write the simplest code i can, because it opens up more options for complex growth when necessary.
18:41:04disruptekit's bikeshedding in any event, just a stylistic nit.
18:48:52*couven92 joined #nim
18:58:14shashlick@lqdev - i don't explicitly ask for libgcc_s
18:58:26shashlickbut if you are compiling with mingw gcc, it would need it probably
18:59:11FromGitter<mratsim> I'm not married to a solution but I just don't want one that will force library user to target either devel or stable but not both at the same time
19:00:04FromGitter<mratsim> Public enums for something that will be extended later is bad for that (another case of the expression problem)
19:03:25lqdev[m]shashlick: I'm compiling using the MinGW downloaded by finish.exe
19:04:35*Vladar quit (Remote host closed the connection)
19:18:54FromGitter<Varriount> Anyone else using code reordering?
19:19:02clyybberYeah, I am
19:20:20*ryukophone joined #nim
19:21:03FromGitter<Varriount> clyybber: Have you had to use `nim check` at all to view errors that are skipped when using code reordering?
19:21:56FromGitter<Varriount> I've had cases where the compiler bailed out and said that a procedure wasn't defined, when it was. This was due to the (supposedly missing) procedure containing some error
19:35:53clyybberVarriount: No, at that point I didn't use nim check anymore.
19:36:15clyybberBut I remember that I had a similar issue once..
19:37:19FromGitter<Varriount> clybber: Basically, if I just run `nim c`, I only get an error saying that a particular procedure isn't defined (when it definitely is). I have to run `nim check` to get the actual error.
19:40:07clyybberHmm, thats weird. Definetely report it.
19:42:41*gangstacat quit (Quit: Ĝis!)
19:44:11FromGitter<Varriount> That being said, aside from that (and a few other bugs) code reordering is great
19:46:17*floppydh quit (Quit: WeeChat 2.5)
19:48:31clyybberYeah
19:49:26*nsf joined #nim
19:51:10sealmovehey, how to confirm mail for posting on forum?
19:51:38*dgreen quit (Read error: Connection reset by peer)
19:59:31clyybberAraq: Haha, want to know something funny? Its a wonder tcustomseqs hasn't failed yet.. Notice the distinct lack of alloc0 here: https://github.com/nim-lang/Nim/blob/devel/tests/destructor/tcustomseqs.nim#L121
20:00:33Araqgood catch
20:01:17*ryukophone quit (Ping timeout: 245 seconds)
20:04:41*absolutejam joined #nim
20:11:14*ryukophone joined #nim
20:16:19clyybberAraq: Kind of interesting: https://github.com/nim-lang/Nim/pull/11248/commits/38b46508be78b57d9eb82e9f9aabd9fc0bf4c566 The allocCount increased from 6 to 10 with the new spec/implementation, but the deallocCount stayed the same.
20:16:35clyybberYet absolutely no memory is leaking :p
20:21:08*freevryheid joined #nim
20:21:19*freevryheid is now known as fvs
20:22:59*absolutejam quit (Ping timeout: 258 seconds)
20:22:59*ryukophone quit (Read error: Connection reset by peer)
20:23:25*ryukophone joined #nim
20:24:32clyybberbbl
20:24:33*clyybber quit (Quit: WeeChat 2.5)
20:36:25*abm quit (Remote host closed the connection)
20:36:52*abm joined #nim
20:44:51*absolutejam joined #nim
20:46:51FromGitter<awr1> i use code reordering too. @Varriount is this relevant to you? https://github.com/nim-lang/Nim/issues/8822
20:47:48*nsf quit (Quit: WeeChat 2.4)
20:48:00*ryukophone quit (Read error: Connection reset by peer)
20:51:54*ryukophone joined #nim
20:54:25*Trustable quit (Remote host closed the connection)
20:56:18*ryukophone quit (Ping timeout: 245 seconds)
20:56:35*ryukophone joined #nim
20:58:16*narimiran quit (Ping timeout: 268 seconds)
21:18:43*al_ joined #nim
21:23:06*ryukophone quit (Quit: AndroIRC - Android IRC Client ( http://www.androirc.com ))
21:39:39*ryukophone joined #nim
21:40:00*ryukophone quit (Client Quit)
21:40:58*al_ quit (Quit: al_)
21:41:54*solitudesf quit (Ping timeout: 248 seconds)
22:00:50*ryukophone joined #nim
22:02:23*ryukophone quit (Client Quit)
22:04:59*ryukophone joined #nim
22:07:16*shomodj_ joined #nim
22:10:03*shomodj quit (Ping timeout: 245 seconds)
22:12:39*ryukophone quit (Ping timeout: 264 seconds)
22:24:31FromGitter<deech> What is the difference between a `macro` and a `proc` that operates on or returns a `NimNode`?
22:25:58FromDiscord_<treeform> deech, you can use macro like a function, while a proc that operates on NimNodes you can't actually call.
22:26:49FromDiscord_<treeform> well sorry, what I meant to say, proc will not evaluate at compile time if its not part of some other macro
22:27:22*jxy quit (Quit: leaving)
22:27:35*jxy joined #nim
22:28:30*absolutejam quit (Ping timeout: 272 seconds)
22:33:49*uptime quit (Quit: Quit.)
22:39:07*ryukophone joined #nim
22:44:22shashlickwhat's the filename for a dynamic library in OSX? what is it for MacOS (not X)
22:44:24*ryukophone quit (Read error: Connection reset by peer)
22:44:42*ryukophone joined #nim
22:45:57FromGitter<mratsim> dylib
22:46:04FromGitter<mratsim> or .so
22:46:33shashlickwhy does platform.nim say $1Lib
22:46:35FromGitter<mratsim> for MacOS, I guess it's the same, it's still an Unix/BSD
22:46:45shashlickthe older MacOS
22:47:08*rockcavera joined #nim
22:49:16*ryukophone quit (Ping timeout: 264 seconds)
22:51:14*ryukophone joined #nim
22:51:51*ryukophone quit (Client Quit)
22:53:19*ryukophone joined #nim
22:53:39FromGitter<deech> treeform, thanks!
22:54:59FromGitter<deech> Is there a way to deep freeze a `ref`, i.e convert a `ref` to a non-ref all the way down?
22:58:47shashlick@dom96 - you around?
22:59:03dom96yes
22:59:59shashlickI'm looking at https://github.com/nim-lang/nimble/issues/674
23:00:23shashlick`nimble c` = actionCompile which calls execBackend in nimble.nim
23:00:29*snuffdtek joined #nim
23:00:42shashlickhttps://github.com/nim-lang/nimble/blob/master/src/nimble.nim#L512
23:00:56shashlickthis does not do anything in tmp - are you sure that's what you saw?
23:01:14shashlicki thought nimble only downloads to tmp when you are installing a package which isn't local
23:01:16*ryukophone quit (Ping timeout: 276 seconds)
23:02:03*shomodj_ quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
23:02:29*shomodj joined #nim
23:02:51*shomodj quit (Client Quit)
23:03:52*ng0 quit (Quit: Alexa, when is the end of world?)
23:04:48dom96shashlick, yeah, I've got a bunch of projectname-checkout-2019-07-15.21:17:18 directories in my /tmp
23:05:25shashlickthis is the only spot where code is checked out - https://github.com/nim-lang/nimble/blob/master/src/nimblepkg/download.nim#L212
23:05:28disruptekmaybe it's scribblin' in `.` and you were in /tmp at the time.
23:06:48shashlickwe don't include the word "checkout" in strings
23:07:17shashlickdoesn't look like it was nimble
23:08:10dom96hm, yeah, you're right
23:08:17dom96I think it's something else
23:08:30shashlickokay can we close it?
23:08:31dom96Sorry about the noise :)
23:08:34dom96Closed it
23:08:40shashlickno problem
23:08:54shashlickyay that was easy 😄
23:19:48*dmiles quit (Ping timeout: 272 seconds)
23:33:56*shomodj joined #nim
23:34:18*shomodj quit (Client Quit)
23:43:16*shomodj joined #nim
23:57:26*dgreen joined #nim