<< 05-06-2019 >>

00:07:51*revere quit (Ping timeout: 264 seconds)
00:09:03*revere joined #nim
00:16:23*couven92 quit (Quit: Client Disconnecting)
00:54:21*d10n-work quit (Quit: Connection closed for inactivity)
01:01:13*deech joined #nim
01:49:59skrylar[m]here's an old secret: the c++ community lies about their speed being optimizations and denies it has anything to do with a poorly parsable grammar compounded with textual inclusion
01:50:09skrylar[m]@exelotl
01:50:51skrylar[m]the reason i know this to be a lie is because if it were true that optimizations were the reason for slow compiles, then the speed should be identical in -O0 as nim, freepascal, c#, java, D, freebasic, ...
01:55:39*theelous3_ quit (Ping timeout: 248 seconds)
01:58:01sealmoveis it bad to define procs within other procs?
01:58:24skrylar[m]depends on why you need to
01:58:37sealmoveNim allows it, and it's appealing for organizing stuff better, but I am afraid it might be a performance issue
01:58:56sealmovethinking of organization reason atm
01:59:04sealmoveis it reason enough?
01:59:11skrylar[m]why would it be. they're just going to get flattened out with mangled names
01:59:14skrylar[m]unless they're closures
01:59:42sealmoveaha! i see, then i'll use a pragma to ensure they won't be closures
02:00:10skrylar[m]they wont be unless they actually reach for data they weren't given in parameters
02:00:31skrylar[m]there still might be a function call overhead but theres inlining or templates for that
02:01:30sealmovehmm, can it hurt inlining? doesn't seem logical
02:01:31*deech quit (Ping timeout: 246 seconds)
02:02:20sealmoveyou confine the scope of the proc, so at least theoretically it should aid inlining
02:24:32*cyberjpn joined #nim
02:29:42*jacobsin joined #nim
02:34:05*rayman22201 joined #nim
02:54:50*cyberjpn quit (Ping timeout: 272 seconds)
02:57:09FromDiscord_<treeform> I use procs inside procs all the time.
02:57:23FromDiscord_<treeform> Usally helper procs like < 10 lines of code
02:57:33FromDiscord_<treeform> also if its reqcursive
03:03:16FromDiscord_<DeltaPHC> afaik, inner procs that aren't closures... are pretty much equivalent to regular procs, except they're simply in a more restricted namespace, right?
03:03:30FromDiscord_<treeform> I hope so
03:03:42FromDiscord_<treeform> I have not profiled this
03:05:37leorizethey're closures, you can even return them
03:06:07leorizebut I think they generally don't have that much overhead :p, but we can only be sure of that when we look at the generated C code
03:12:05*chemist69 quit (Ping timeout: 252 seconds)
03:13:19leorizeAraq: IIRC you said something about `Channel` needs a redesign, right?
03:14:02*chemist69 joined #nim
03:20:16*sz0 quit (Quit: Connection closed for inactivity)
03:34:26*dddddd quit (Remote host closed the connection)
04:07:14*nsf joined #nim
04:48:06*jacobsin quit (Quit: Connection closed for inactivity)
05:20:51*leorize quit (Quit: WeeChat 2.3)
05:23:33*c3v0axz joined #nim
05:25:27*hogeland quit (Ping timeout: 245 seconds)
05:26:06*hogeland joined #nim
05:37:16*hogeland quit (Ping timeout: 268 seconds)
05:37:24*hogeland joined #nim
05:47:55*narimiran joined #nim
05:55:43*krux02 joined #nim
05:58:27*lritter joined #nim
06:05:56*NimBot joined #nim
06:07:15Araqleorize[m]: it would benefit from destructors
06:08:47*leorize joined #nim
06:23:39*PMunch joined #nim
06:24:18*hogeland quit (Ping timeout: 244 seconds)
06:24:25*hogeland joined #nim
06:35:45*PMunch quit (Remote host closed the connection)
06:37:04*PMunch joined #nim
07:00:00*gmpreussner quit (Quit: kthxbye)
07:04:36*gmpreussner joined #nim
07:27:54*leorize quit (Remote host closed the connection)
07:36:42*leorize joined #nim
07:48:54*Phhere joined #nim
07:49:36PhhereHello, i get the following error message while compiling something: lib/system/gc.nim(31, 10) Error: cannot open file: sharedlist
07:49:47PhhereHow could i fix the issue? i just installed 0.19.6 from source
07:54:52livcdanother gui lib waiting to be wrapped https://github.com/idea4good/GuiLite
07:56:19leorizePhhere: how did you install it?
08:08:27*Phhere quit (Ping timeout: 248 seconds)
08:08:52PMunchlivcd, huh, that's actually pretty cool
08:09:06PMunchFor making UIs for embedded stuff
08:11:17PMunchHmm, is there a shorthand for myseq.low..myseq.high?
08:11:26PMunchSomething like "for i in myseq.range"
08:11:49*ng0 joined #nim
08:13:27leorizenope, I actually have a template for that :P
08:13:48leorizeseems to be something that might be useful in the stdlib
08:16:08leorizenever know that there's a rangeCheck template in system.nim
08:25:27leorizenarimiran: maybe it's time to remove the safeAdd family of functions? it has already been deprecated for a year
08:30:12FromGitter<alehander42> hmm css is confusing me
08:34:03*leorize quit (Ping timeout: 256 seconds)
08:38:29*couven92 joined #nim
08:44:55*leorize joined #nim
08:48:55*floppydh joined #nim
08:53:35livcdcss is confusing everyone
09:03:05lqdev[m]modern browser standards are crap overall
09:03:35FromGitter<danielecook> what is the equiv. of `pass` in nim?
09:03:39lqdev[m]they're lenient as hell, which often makes for unpredictable results
09:03:41FromGitter<danielecook> as in try/except pass
09:03:57lqdev[m]discard
09:04:10FromGitter<danielecook> thanks lqdev!
09:04:31lqdev[m]np
09:30:00*Phhere joined #nim
09:30:07livcdDoes anyone know of sort of a reference/cheat sheet ? something like what's in Nim in Action
09:30:15Phhereleorize: i used these commands: sh build.shbin/nim c koch./koch tools
09:30:26Phhereafter that i copied bin and lib to a different location
09:30:46Phhereand i appended the path to $PATH
09:30:52leorizeah, that's why it doesn't work :p
09:31:19dom96Best thing to do is to just use choosenim :)
09:31:47leorizePhhere: are you packaging Nim or you just want to install it?
09:32:03PhhereI just want to use it inside an hpc system with modulecmd
09:32:12leorizeuse choosenim :p
09:32:21Phhereso i can not move it to a new location ?
09:32:40leorizeyou can, but it's a tad bit complex
09:33:04leorizewell here's how: ./koch install /path/you/want/to/install/nim/to
09:34:34leorizeNim have special rules in where you place the stdlib for the compiler
09:35:31leorizeif you're not packaging Nim, I'd recommend using choosenim
09:38:12narimiranshashlick: are you here?
09:40:46livcdanyone tried the progress lib ?
09:41:16livcdcan I somehow make it work with copyDir() ?
09:41:49leorizepretty sure you can't :P
09:42:42livcdwell at least i wont try now that you told me :D
09:45:43*jasper_ joined #nim
09:47:53livcdah so I just need my own version of copyDir and call bar.increment() from there
09:48:26livcdthat seems to work?
09:50:54leorizesure? if you know what's 100% :p
09:51:24livcdsure lol
09:52:44*JustASlacker joined #nim
09:53:36FromGitter<gogolxdong> What's the default installation path of nimble packages now?
09:54:25*al_ joined #nim
09:54:33FromGitter<alehander42> isnt it ~/.nimble still
09:55:49FromGitter<alehander42> or is it the $XDG_DATA_HOME/.nimble these days
09:56:03leorizestill .nimble
09:56:19leorizeI'd love if it moves elsewhere though
09:56:40FromGitter<alehander42> well $XDG_DATA_HOME should solve it imo
09:58:36FromGitter<gogolxdong> Do we have to set NIMBLE_DIR to the default path? nim compiling doesn't recongize installed package , ws specifically.
09:58:49leorizenope
09:58:59leorizejust make sure you've the default nim.cfg
10:22:40*leorize quit (Quit: WeeChat 2.3)
10:37:22Araqhmm we never deprecated nre.nim
10:39:45FromGitter<kaushalmodi> Araq: you mean that needs needs to be actually deprecated, right?
10:40:06FromGitter<kaushalmodi> \* nre needs
10:40:29federico3what happened to the 0.20 release?
10:40:43Araqfederico3, waiting for the nightlies now
10:41:03narimiranfederico3: we're working on it as we speak. there were some last-minute things :)
10:41:20Araqwhat last-minute things?
10:41:47*nc-x joined #nim
10:41:56nc-xAnother last minute thing that should be fixed for 0.20 IMO https://github.com/nim-lang/Nim/issues/11405
10:41:59Araqso ... should we deprecate nre for 0.20?
10:42:08narimiranall the commits/PRs in last two days :)
10:42:18FromGitter<kaushalmodi> +1 for deprecation
10:42:28FromGitter<kaushalmodi> It will be then less confusing
10:42:33FromGitter<kaushalmodi> https://scripter.co/notes/nim/#regex
10:42:51FromGitter<kaushalmodi> I need to keep notes like above to remind myself :)
10:43:15*nc-x quit (Client Quit)
10:43:17Araqnre is liked by some, re by others
10:44:51FromGitter<kaushalmodi> I know that there's at least one issue where re doesn't behave as nre does.
10:44:59FromGitter<kaushalmodi> Isn't it possible to close that gap?
10:45:20Araqmaybe, but I don't want to think about it
10:45:52Araqre never claimed to be consistent with nre, re predates nre by years
10:46:39FromGitter<kaushalmodi> This issue comes to my mind: https://github.com/nim-lang/Nim/issues/9437
10:47:00narimirani knew it was "-foo" before i opened it :D
10:47:12FromGitter<kaushalmodi> Hehe, it's the most obvious one
10:47:15Araqoh seriously, who cares.
10:47:34Araqif you use empty regexes in a replace() you're on your own
10:48:32FromGitter<kaushalmodi> How else would you convert "foo" to "-f-o-o-"? using `re`.
10:48:55Araqwell you don't use 're' for that ;-)
10:48:56narimiranyou wouldn't use re for that? :P
10:49:13*sealmove quit (Quit: WeeChat 2.4)
10:49:35Araqif the empty string is between every character, why isn't it "twice" between every character, producing --f--o--o-- ?
10:52:24Araqanyway, back to the problem: does it harm us so much to have both nre and re?
10:52:38FromGitter<kaushalmodi> I don't get why you are thinking of double replacements. But this scenario has come up before for me in other languages and it Just Worked.
10:52:52Araqwe don't spend time on either...
10:53:13FromGitter<kaushalmodi> Araq: It needs to be documented on how re differs from nre
10:54:18Araqbah
10:54:48FromGitter<kaushalmodi> Seriously, when I was new to Nim, it was very confusing as to what to use
10:55:19Araqhttps://github.com/nitely/nim-regex that one
10:55:24Araq:-)
10:55:27FromGitter<kaushalmodi> I just made up my mind to stick with re (for pcre) and regex from nimble
10:55:39FromGitter<kaushalmodi> That when I ended up in that re"" bug
10:56:17*abm joined #nim
10:56:18FromGitter<kaushalmodi> Yes, I use regex and plan to until I end up with one of it's limitations
10:57:06FromGitter<kaushalmodi> But the re vs nre confusion needs to be clarified or one needs to be deprecated
10:58:34Araqwell https://nim-lang.github.io/Nim/lib.html does not list nre
10:58:43FromGitter<kaushalmodi> Right now, for a user, it's like "see if re works, if that doesn't may be nre works? If not, install regex from nimble, and see if that works"
11:00:06Araqwell. you have a point.
11:00:23Araqbut 0.20 is ripe, so what are we gonna do?
11:00:58Araqwe can fix re.replace and deprecate nre but there is no way of telling what else nre might do differently
11:01:05Araqor Python's re for that matter.
11:01:51FromGitter<kaushalmodi> Can all nre tests be ported to re?
11:02:25Araqnot immediately, re also lacks a replace that takes a callback
11:02:50FromGitter<kaushalmodi> Then the sounds like the deprecation needs to be held off
11:03:32FromGitter<kaushalmodi> Being a devils advocate here: can re be deprecated instead, and nre be made to absorb the features it's missing compared to re?
11:04:19Araqthat was nre's initial goal
11:05:36Araqbut I like re's implementation better and the APIs are different too
11:05:56Araqalso, re.nim has multiReplace and nre doesn't
11:06:11Araqand multiReplace is the best thing since sliced bread
11:06:58AraqI can change re.replace and also add a version that takes a callback
11:07:26Araqbut apart from that, I think nre should be moved to a nimble package and re should stay in the stdlib
11:08:04leorize[m]do you have any plans for replacing peg with npeg?
11:09:43Araqno. but for different reasons:
11:10:26AraqI don't enjoy replacing perfectly working code in e.g. testament.nim with different code just because people in #nim tell me the stdlib is shit
11:10:33FromGitter<xmonader> @Araq is there a way to describe something like list of 2 ints or string of 1 rune?
11:10:59leorize[m]array[2,int]?
11:11:21FromGitter<kaushalmodi> > I can change re.replace and also add a version that takes a callback
11:11:24FromGitter<kaushalmodi> Awesome!
11:11:53FromGitter<xmonader> I mean as a type ⏎ ⏎ type My2IntList = seq[int] of 2 something like that
11:12:38leorize[m]`type My2Int = array[2, int]`?
11:12:54leorize[m]I'm not sure what you're trying to do
11:13:37FromGitter<xmonader> I'm trying to limit the passed sequences in some code to be sequences of 2 elements for example
11:14:25leorize[m]well, array is your best bet :p
11:14:43*deech joined #nim
11:14:49leorize[m]or just plain ol docs + if len > 2 raise exception
11:15:01FromGitter<kaushalmodi> Araq: while you are here, can help me with https://github.com/nim-lang/Nim/issues/11194#issuecomment-492052660
11:16:07FromGitter<xmonader> @leorize I was thinking more of a dependent type :) i'm using the len way already but thought i could do better with dependent type
11:16:21FromGitter<kaushalmodi> I never got the cppCompileToNamespace to work for its intended use i.e. have 2 separate Nim projects compile to .so using cpp and then linked with the SystemVerilog compiler
11:16:53leorize[m]distinct seq + proc to convert from normal seq?
11:17:04FromGitter<kaushalmodi> Both .so's have NimMain even though the cppCompileToNamespace was specified differently
11:18:07AraqI've seen the issue but I don't know why it happens
11:18:33FromGitter<xmonader> @leorize definitely better :) thanks
11:18:40leorize[m]@xmonader: array[2, T] + proc to convert from seq :p
11:18:50leorize[m]^ million time better :p
11:18:55Araqlooking at it, I remember that re.nim essentially says re"" is not a thing and nre says it is
11:24:38FromGitter<kaushalmodi> Yes, that was added after that -f-o-o- issue
11:29:34*theelous3_ joined #nim
11:34:03*Snircle joined #nim
11:38:26*dddddd joined #nim
11:40:56*stefanos82 joined #nim
11:47:44*elrood joined #nim
12:02:37dom96Araq: +1 to deprecating nre
12:26:43*Tongir joined #nim
12:29:47*deech quit (Ping timeout: 248 seconds)
13:13:58Zevvleorize[m]: dunno, I think think the current dogma is to shrink stdlib, which makes sense. I wouldn't object, but I'm not pushing anything.
13:18:49FromGitter<alehander42> well cant we add the stuff from nre that is missing to re
13:18:52*apodo joined #nim
13:18:55FromGitter<alehander42> and deprecate nre then
13:19:05FromGitter<alehander42> it's very hard to remember what's in re, and what's in nre
13:19:42FromGitter<alehander42> (or deprecate re, not sure which is faster)
13:20:12FromGitter<kaushalmodi> @alehander42 looks like our thinking is in sync :)
13:21:17FromGitter<kaushalmodi> ^ https://irclogs.nim-lang.org/05-06-2019.html#10:58:43
13:28:52*elrood quit (Remote host closed the connection)
13:34:28shashlick@narimiran what's up
13:35:15narimiran not much, you? :P
13:53:29AraqdoAssert replace("bar", re"^", "foo") == "foobar"
13:53:44Araqoh fuck me, I'm not gonna do this
13:54:13Araqit's a simple loop with dozens of silly edge cases for the "empty sized matches" nonsense
13:55:22Araqit's effectively a whole different algorithm for empty sized matches, no thanks, just learn how to do string processing
14:04:46*JustASlacker quit (Quit: Leaving)
14:09:41FromGitter<alehander42> is there any macro api to
14:09:48FromGitter<alehander42> somehow list the defined local variables
14:09:55FromGitter<alehander42> in the macro invocation
14:11:39*rockcavera quit (Remote host closed the connection)
14:17:32*bobby quit (Ping timeout: 245 seconds)
14:19:39*Phhere quit (Ping timeout: 248 seconds)
14:22:40*abm quit (Ping timeout: 268 seconds)
14:24:13*rockcavera joined #nim
14:27:44FromGitter<gogolxdong> How to use CORS in Jester?
14:28:26jkenis it possible to import all .nim files in a directory? something like `import module/*`
14:28:57Araqshashlick, 0.20 is almost ready, we need nightly builds
14:30:38lqdev[m]jken: I don't think that's possible, but you can always create a separate file called `module` with the line `import module/[submodule1, submodule2]` and then `include module`
14:32:05shashlickSounds good @Araq
14:32:26shashlickAre you going to post the Linux binaries as well this time?
14:35:05jkenThanks lqdev[m]
14:35:48FromGitter<gogolxdong> is ` resp(Http200, [("Access-Control-Allow-Origin","*")],"success")` sufficient?
14:41:18*PMunch quit (Remote host closed the connection)
14:41:47dom96https://forum.nim-lang.org/t/4903
14:41:58dom96Literally asked yesterday
14:42:02dom96gogolxdong ^
14:44:25dom96oh, Araq, before I forget, we should probably make the transition for this better: https://forum.nim-lang.org/t/4891
14:44:41dom96breaking code subtly like this sounds like a bad idea
14:51:07*Tongir quit (Ping timeout: 248 seconds)
14:56:57FromGitter<gogolxdong> oh, good, thanks, then it seems not the problem of CORS.
14:59:02Araqdom96: we considered it but it's not easy to do. and we also have some other code breakage, it's 0.20 RC1 after all
15:01:50shashlick@Araq if we make the Linux binaries official then I can add support to choosenim as well
15:02:35Araqthe last time we didn't want to do it because it would be a (minor) website redesign
15:05:41shashlicksure, but can we upload the binaries to the website? that way choosenim can still find them
15:05:53shashlickI can update the website as well
15:06:59Calinoucan we upload binaries to GitHub Pages without committing them to version control?
15:07:16Calinouunless you mean hosting binary releases on GitHub Releases (which is a good thing to do)
15:07:39shashlickgithub pages are also versioned
15:08:15shashlicknightlies are already on github releases
15:08:31shashlicki'm talking about posting to the http://nim-lang.org site
15:12:55*floppydh quit (Quit: WeeChat 2.4)
15:20:35Araqsure we can do that. I'm not sure Linux users appreciated binaries though
15:23:33dom96Binaries are definitely appreciated
15:23:50shashlickokay i'll create a PR for the website with the new linux binaries section
15:23:53dom96Do we have arm binaries for Linux? That would be really impactful
15:25:43shashlickyes they are being created in nightlies
15:25:53*xet7 quit (Ping timeout: 245 seconds)
15:26:00dom96ooh
15:29:16shashlick@dom96 - curious on your feedback on the arm work
15:31:45*PMunch joined #nim
15:32:54federico3dom96: impactful? Why?
15:33:08dom96because arm cores are slow
15:33:33dom96shashlick: what do you mean, what sort of feedback would you like?
15:33:34federico3...and?
15:37:49*abm joined #nim
15:38:55*xet7 joined #nim
15:40:30lqdev[m]how do I choose between a singly and doubly linked list?
15:40:44Araqsimple: use 'seq' instead
15:40:58shashlickwell, binaries for armv6, v7, v7a and 64 and android-64 are being created
15:41:15shashlickso will be cool if i could hear about how well they are working
15:41:22dom96federico3: so bootstrapping a compiler takes a long time. Building arm compiler for users is much more time-consuming, hence the impact of providing binaries is higher than of other kinds of binaries
15:41:24lqdev[m]I need to dynamically rearrange elements (bring UI controls to top)
15:41:24shashlickif you are using arm, will be cool to hear
15:41:42lqdev[m]a seq has an O(n) overhead
15:41:44dom96oh no, sorry, I don't
15:41:46lqdev[m]a linked list has O(1)
15:42:06Calinoudom96: also for containers :P
15:42:09Calinou(and CI)
15:42:22Calinoubuilding from source on every CI pipeline is a huge waste of time
15:42:44dom96sure
15:43:16federico3dom96: how many people need to run the compiler itself on an ARM (not crosscompiling) and need the nightly instead of using the OS package?
15:43:47dom96yes, sure, people can use the OS package, but they cannot get nightly that way
15:43:58dom96and I think getting nightlies is still very common
15:44:03federico3that's what I wrote
15:44:03shashlickthat's a question in my mind too - i've created the nightlies and it took a bunch of effort, but curious on that feedback
15:44:23dom96In fact, I have data to back it up
15:44:34dom96for choosenim it is incredibly impactful to get binaries
15:44:34federico3but I hope not many people have to use an arm as development environment
15:45:02shashlickthat's why i want to post the linux binaries so that choosenim can leverage them
15:46:22dom96Couldn't choosenim simply download these from whatever website hosts the nightlies now?
15:46:38shashlickya i plan on adding nightlies to choosenim as well, but official binaries would be cool
15:47:26dom96oh sure
15:47:33dom96Agreed.
15:48:23dom96so yeah, please implement linux binary support in choosenim
15:48:26dom96ideally with a way to let the user force a source build
15:48:46shashlicksounds good
15:50:38PMunchHmm, can I borrow a list of things when creating a distinct type?
16:10:58*PMunch quit (Remote host closed the connection)
16:11:53*leorize joined #nim
16:12:39shashlickis anyone interested in maintaining nim install from chocolatey?
16:12:45shashlickhttps://chocolatey.org/packages/nim
16:14:07Araqoh surprise, an unmaintained package
16:14:24stefanos82dom96: when 0.20 becomes stable, are there any plans to update your book?
16:14:45dom96My book should be compatible
16:14:49dom96save for some deprecation warnings
16:15:03dom96I will need to make a note to verify this though
16:15:24dom96The test suite does have ~95% of the examples in my book though, so it should work
16:15:35dom96Unless someone sneakily modified those :P
16:15:58Araqwe did do that, yes
16:16:02*nc-x joined #nim
16:16:06Araqbut I don't remember what we changed
16:16:11Araqit was minor
16:16:34nc-xchocolatey is full of unmaintained stuff
16:16:44shashlicki can adopt chololatey if there is sufficient interest here
16:16:48shashlickscoop is up to date
16:17:05shashlicki don't use it myself though so meh
16:18:08nc-xbtw is the future of nim installation on windows "officially" choosenim or the current zip file or a installer if someone works on it?
16:18:35nc-xshashlick: i don't think (m)any people use choco or even scoop
16:19:43shashlickchoosenim is right up top
16:19:56shashlickfinish is #2
16:21:11nc-x👍
16:23:34shashlickwell, actually choosenim is #1 for linux, not mentioned for windows
16:23:37shashlickthat needs to change as well
16:23:38dom96well, I just checked and there are no major changes to niminaction tests
16:23:47dom96as in, breaking changes
16:23:53dom96So book examples should still compile
16:24:29nc-xshashlick: there is an old PR on nim website github repo regarding that
16:24:31shashlicki think the reason is because choosenim doesn't let you choose the arch - by default it install x32 probably isn't the correct choice, unless user already has gcc
16:25:44AraqI thought you fixed that and choosenim supports 64bits now
16:26:46shashlickit does, but that is if there's already a gcc installed
16:27:01shashlickif you have a 64-bit mingw installed, it installs the 64-bit nim
16:27:10shashlickbut if there's no gcc, it downloads 32-bit today
16:27:37shashlicki think default should be to detect cpu and install accordingly and then have a force32 flag to force 32-bit even if on 64-bit
16:27:46stefanos82dom96: awesome!
16:28:03stefanos82so the actual changes are how backend is actually implemented, nice!
16:29:48shashlick@Araq - what way can I help with 0.20? any last minute stuff?
16:30:22Araqdon't ask me, ask narimiran
16:32:36Araqwell you can update the website, right?
16:33:07Araqbbs
16:33:24*nc-x quit (Quit: Page closed)
16:33:36leorizeanyone want to update the msys2-nim package as well? :p
16:35:20narimiranre windows and choosenim: https://github.com/nim-lang/website/pull/148
16:36:49narimiranalso this about windows installation: https://github.com/nim-lang/website/issues/88
16:40:28*jxy quit (Quit: leaving)
16:40:57*jxy joined #nim
16:43:33narimiranversion 0.20 is tagged :) shashlick, please start the nightlies
16:43:56Zevv\o/ hooray!
16:44:14FromGitter<kaushalmodi> woot!
16:44:14*brainproxy joined #nim
16:44:14Zevvand it isn't even night yet
16:44:29lqdev[m]nice!
16:44:30FromGitter<alehander42> v 20.0
16:45:02dom96narimiran: please let me take a look at the release article before you push
16:45:25dom96I want to double check some things
16:45:29narimiranalehander42 you frightened me for a moment, i thought i made the mistake in changing the version number :D
16:45:55narimirandom96: you already have the link, right? (changelog should be updated, btw)
16:46:03FromGitter<kaushalmodi> narimiran: hehe, I thought the same :P quickly jumped to see the Nim repo Releases to see what you actually tagged
16:46:40*laaron quit (Quit: ZNC 1.7.1 - https://znc.in)
16:46:54*al_ quit (Quit: al_)
16:46:56FromGitter<alehander42> sorry remembering the araq idea that we just drop the 0. :P
16:47:08dom96narimiran: what about bug fixes?
16:47:21*laaron joined #nim
16:47:41narimirandom96: they weren't created yet
16:47:45dom96also, we should probably emphasise the shr change
16:48:08narimiranyep, unfortunately (if you ask me)
16:48:47dom96I have a feeling that we might need another RC that goes back on this, this seems like a really subtle and far reaching change
16:49:26dom96I moved it and boldened it
16:49:54dom96Also, I removed the first phrase in the first sentence
16:49:58dom96I don't think it sounds good
16:50:23dom96it's like we're complaining about how long it took us, better to stay positive :)
16:54:25federico3narimiran: oh good \o/
16:56:04federico3tagged but not listed in https://nim-lang.org/install_unix.html
16:56:25FromGitter<jrfondren> although a negative release would be interesting if done like Emacs antinews. "It is with much embarrassment that 0.20 has been released.", "Changes in compiler speed mean that you'll have less time to relax and play around on work hours. We hope you can remember work-life balance."
16:56:26federico3which one is the "real" release? -_-'
16:57:34*Trustable joined #nim
16:58:09narimiranfederico3: wait, it is coming, it is a long process :)
16:58:33federico3narimiran: is the tag on GH "final"? e.g. no suprises?
16:58:41narimiranfederico3: i hope so :)
16:58:54federico3:-/
17:00:09narimirannow we wait for nightlies to build, and then you'll get the official version, option to update via choosenim, blogpost mentioning the new release, etc.
17:01:42narimirantomorrow morning everything should be in place
17:03:39shashlicknightlies take a while, kicking off
17:04:43shashlickdo we now have a version-0-20 branch?
17:04:53shashlickthen nightlies need to be updated first
17:05:44narimiranshashlick: here you go: https://github.com/nim-lang/Nim/tree/version-0-20
17:06:04shashlickokay do we want to also continue building for version-0-19 or stop that going froward?
17:06:33narimiranv0.19 is so last year :P
17:09:32*stefantalpalaru joined #nim
17:09:52stefantalpalaruWhen will https://nim-lang.org/download/nim-0.20.0.tar.xz be available?
17:11:30shashlickworking on it, probably a couple hours i think
17:13:23leorizenarimiran: I think you should check for typo in the changelog :p
17:13:59leorizepretty sure the very first bullet point have a typo
17:15:32stefantalpalaruHow come I'm not getting a stack trace for this? /mnt/sda3/storage/CODE/status/nimbus/vendor/Nim/lib/system/fatal.nim(48) sysFatal \n Error: unhandled exception: intVal is not accessible [FieldError]
17:16:15shashlick@narimiran - changelog has no date in it per leorize - do you want to retag? i've updated nightlies to build 0-20 branch but can wait to kick off
17:17:03leorizeonce we got the new csources for 0.20 I'll continue work on azure :)
17:17:39shashlickdo we not need new 0.20.0 csources tagged?
17:19:02*narimiran quit (Ping timeout: 268 seconds)
17:21:16*hogeland quit (Remote host closed the connection)
17:21:28*hogeland joined #nim
17:21:54Araqstefantalpalaru: it's a release build
17:22:05Araqrelease builds now don't disable the runtime checks
17:22:07shashlickplease confirm - waiting to kick off
17:23:02Araqconfirm what?
17:23:12stefantalpalaruThat's fine, but shouldn't sysFatal() print a traceback?
17:23:24shashlickdo we need 0.20 csources before nightlies get kicked off
17:23:27Araqno we don't have tracebacks in release mode
17:23:37Araqer ... hmm
17:23:37shashlickand do you want to fix v0.20.0 - XX/XX/2019 in changelog
17:23:59Araqlet me check what our wiki page says
17:24:05stefantalpalaruAnd no, it's not a release build. There is no "-d:release" here.
17:24:42leorizethen do you have any reproducible source code?
17:27:51Araq [ -d csources ] || git clone --depth 1 https://github.com/nim-lang/csources.git
17:28:23Araqshashlick: c sources of 0.19 can build 0.20
17:28:37Araqso there is no need to wait
17:29:34shashlickokay cool
17:29:40shashlickand the changelog - you okay with that?
17:29:52shashlickdate is missing, purely cosmetic
17:30:06Araqwell it should have a date
17:31:15*Vladar joined #nim
17:37:34FromDiscord_<treeform> where is the 0.20 change log?
17:38:28FromDiscord_<treeform> I can only find the 0.19 one.
17:39:00shashlickhttps://github.com/nim-lang/Nim/blob/devel/changelog.md
17:41:38FromDiscord_<treeform> thanks!
17:42:21*Trustable quit (Remote host closed the connection)
17:45:04*Jesin quit (Quit: Leaving)
17:45:45shashlick@Araq - so are you going to retag and should i hold off on nightlies or should we simply go ahead
17:52:10*jasper_ quit (Quit: Page closed)
17:53:13*Jesin joined #nim
17:56:09*elrood joined #nim
18:04:03federico3shashlick: wait - https://nim-lang.org/download/nim-0.20.0.tar.xz is going to be different than the tagged commit in GitHub?
18:04:22federico3due to the csources I guess... sigh
18:04:50*andremedeiros joined #nim
18:06:14andremedeiroshello everyone! trying to compile a small program in macOS and getting "/usr/local/Cellar/nim/0.19.6/nim/lib/pure/times.nim(949, 29) Error: undeclared identifier: 'CTime'"
18:06:26andremedeirosnim installed via homebrew, if that helps. anyone know how to get past this?
18:07:25shashlick@federico3 - it will be the same since nightlies pulls latest on the branch and both devel and version-0-20 are at the same commit
18:07:45federico3shashlick: what about the csources?
18:07:58shashlickthey are also pulled from head
18:10:04FromGitter<jrfondren> andremedeiros, does that program compile if you pass -d:posix ?
18:10:25andremedeirosgood question, let me check
18:11:03federico3shashlick: in the previous release the amount of difference between the xz and the tar.gz was 6000 files
18:11:54andremedeirosthat works actually, @jrfonden. I'm trying to target wasm, if that helps tho
18:12:28FromGitter<jrfondren> CTime is defined in times.nim behind `when defined(posix)` and `when defined(windows)`
18:13:03federico3shashlick: and that is without comparing the content of the files!
18:13:06FromGitter<jrfondren> probably, whatever you're doing to target wasm is stripping the -d:posix
18:13:14FromGitter<jrfondren> maybe rightfully.
18:13:15Araqshashlick: why would I want to re-tag?
18:13:49shashlickwell, that was my question
18:14:04shashlickif you don't want to retag v0.20.0 with a good changelog, i'm fine, i'll kick off nightlies
18:14:05Araqno, why would I? because of the missing date?
18:14:06andremedeiroshuh most definitely rightfully then I suspect
18:14:12shashlickya that's what i was asking
18:14:49Araqnot worth it, the website has the date, the github repo changelog.md is not *that* important
18:15:26Araq [ -d csources ] || git clone --depth 1 https://github.com/nim-lang/csources.git
18:15:32Araqhowever, this line makes me nervous
18:15:39shashlickunfortunately nightlies is failing - https://travis-ci.org/genotrance/nightlies
18:15:45Araqshouldn't it checkout 0.19?
18:16:50andremedeiros@jrfondren thank you for your help
18:17:54FromGitter<jrfondren> np. All I did was open that file and look for CTime. Nim is pretty readable so even diving into the compiler isn't a journey fraught with danger. I don't know much about wasm though.
18:18:57shashlick@Araq - well latest csources is tagged as 0.19.0 so it is the same
18:19:23Araqyeah but after I updated C sources nightlies will start off from a different base
18:19:25shashlickbut anyway, osx and linux nightlies are failing
18:22:36AraqI'm looking at the logs but I'm blind
18:22:39Araqwhat's the error?
18:23:22dom96jrfondren: wow, nice catch on the -d:posix
18:25:08shashlickAm running to a meeting but wasn't clear from my initial look
18:25:27shashlickMust be some Nim docs failure
18:28:15dom96PSA: Please make your commits conform to the usual `fixes #1234` template, otherwise generating release notes is a PITA
18:30:18AraqPSA?
18:30:28FromGitter<jrfondren> public service announcement
18:30:52Araqshashlick: when will you be back?
18:32:47shashlick30 minutes
18:34:02Araqok so I'll try to rebuild the C sources then
18:34:09Araqif it's broken already ... :P
18:44:07andremedeiros/
18:54:22Araqhmm that worked... nice. last time I did this was 9 months ago
19:00:36Araqer ... this changelog is full of typos lol
19:07:05*disruptek quit (Read error: Connection reset by peer)
19:07:44*disruptek joined #nim
19:15:24FromGitter<brentp> is there a way to annotate an object so that certain fields are not serialized to JSON with `%`? (other than writing my own `%` ?)
19:16:32dom96sorry, not possible right now
19:16:41dom96We should discuss how to implement this as a feature though
19:17:50FromGitter<brentp> ok. I'll work around it.
19:18:46stefantalpalaruUsing a debug build of the compiler I'm getting this stack trace: https://gist.github.com/stefantalpalaru/59cbf99a74f06ee3854ec5bf33ca2a1f - how do I get some info about the Nim file being processed by the VM?
19:19:16noonienis there a way to disable stack traces? i want to get a small binary, and would like to get rid of all strings/paths in the brinary that aren't needed for it to function
19:19:49dom96Araq, is this fixed? https://github.com/nim-lang/Nim/issues/6071
19:20:14dom96stefantalpalaru, try playing with the --verbosity flag
19:21:23stefantalpalaruLast hint: "Hint: uri [Processing]" refers to lib/pure/uri.nim so it's not helpful.
19:21:48dom96if you increase the verbosity high enough you should see more messages
19:24:32stefantalpalaruAt level 3: "???(0, 0) Hint: 842543 [Processing]" :-)
19:24:47dom96hah, guess the compiler doesn't know where it is :)
19:26:55FromGitter<Vindaar> @brentp: maybe this is already enough: http://ix.io/1L1l/nim
19:27:38FromGitter<brentp> wow. that's nice!
19:27:50FromGitter<brentp> I just wrote a custom `%` for now.
19:34:42dom96Vindaar: PR? :D
19:36:58stefantalpalaruDoes this sound familiar for a const declaration? "nimcheck: VM problem: dest register is not set"
19:38:03*narimiran joined #nim
19:40:06FromGitter<Vindaar> @dom96 I can certainly create a PR for this, but my track record for accepted JSON related PRs is pretty bad :P I feel like there's probably a reason something like this is not implemented yet?
19:40:34*Vladar quit (Remote host closed the connection)
19:41:08dom96Perhaps, but this seems like a simple feature, even if there is push back you won't lose much time :)
19:43:49dom96So based on the release notes generated by my script for 0.20.0, it looks like 0.20.0 fixes around 400 issues :O
19:50:11FromGitter<Vindaar> yeah, true. Will do it later
19:54:50lqdev[m]what is the purpose of this? https://github.com/nim-lang/Nim/blob/devel/lib/system/io.nim#L385
19:58:45noonienis there a way to make the compiler not include file names in the binary?
19:58:57dom96-d:release?
19:59:48noonien`strings bin | grep '.nim$'` still returns some paths from the stdlib
20:02:34*nsf quit (Quit: WeeChat 2.4)
20:03:23dom96Possibly a bug
20:03:26dom96Might be worth reporting
20:10:32FromGitter<jrfondren> @lqdev it's not exported and it's not used, so I reckon there's no purpose to it.
20:11:55shashlicklooks like megatest is failing in nightlies
20:12:00shashlickcould reproduce on local linux as well
20:14:42*ng0 quit (Quit: Alexa, when is the end of world?)
20:15:15Araqshashlick, I think I know why
20:15:32stefantalpalaruinfo.col in here can be -1 which leads to a RangeError in the compiler: https://github.com/nim-lang/Nim/blob/v0.20.0/compiler/msgs.nim#L455
20:15:58stefantalpalaru"Error: unhandled exception: value out of range: -1 [RangeError]"
20:16:59FromGitter<jrfondren> how does that happen, that code has a negative column?
20:17:09stefantalpalaruThis comes right after "???(0, 0) Hint: 842556 [Processing]"
20:17:17FromGitter<jrfondren> https://github.com/nim-lang/Nim/blob/v0.20.0/compiler/lineinfos.nim#L234 ah.
20:21:52*vlad1777d quit (Ping timeout: 248 seconds)
20:26:30*ng0 joined #nim
20:28:25stefantalpalarujrfondren: it's actually https://github.com/nim-lang/Nim/blob/devel/compiler/ast.nim#L1073
20:28:40stefantalpalaruIf I set that default to 0, the problem is fixed.
20:29:02FromGitter<jrfondren> look at the comment though.
20:29:14FromGitter<jrfondren> the problem of it not being out of range for spaces() is fixed, but is the output even meaningful?
20:32:11stefantalpalaruMeaningful or not, at least the compiler doesn't crash.
20:41:43shashlick@Araq @narimiran - something after this commit broke nightlies - https://github.com/nim-lang/Nim/commit/71388caf2e6011690e0ba51a93bdec1419b5af14
20:42:37Araqshashlick, we removed the tag and I'm overhauling the changelog.md
20:48:17shashlickmegatest failure probably due to https://github.com/nim-lang/Nim/commit/efbf43d4a9b9ffdee5db95749d0d992bc16bb350
20:48:36AraqI "fixed" that one
20:48:38shashlickError: unhandled exception: intVal is not accessible [FieldError]
20:48:48shashlickokay cool
20:49:05Araqjust pushed it
20:53:04FromGitter<kaushalmodi> Araq: regarding https://github.com/nim-lang/Nim/commit/591007878cac59e439b08cddc8811ad8c9bcd93b
20:53:28FromGitter<kaushalmodi> the idea was to move the changelog.md to https://github.com/nim-lang/Nim/tree/devel/changelogs
20:53:43FromGitter<kaushalmodi> as changelog_0_20_0.md
20:54:05FromGitter<kaushalmodi> and the changelog.md you modified would be emptied out
20:55:02FromGitter<kaushalmodi> https://github.com/nim-lang/Nim/blob/devel/changelogs/changelog_X_XX_X.md is the template for the new changelog in the repo root once it is moved to changelog_0_20_0.md
20:56:58FromGitter<kaushalmodi> ok, that was already explained in https://github.com/nim-lang/Nim/tree/devel/changelogs#update-changelog
20:56:59*abm quit (Ping timeout: 248 seconds)
20:58:16Araqwell it's not covered by our release notes
20:58:46Araqalso we have the same info in our website so what's the point?
20:59:21narimirankaushalmodi: there will be changelog_0_20_0.md, don't worry ;)
20:59:37shashlickokay anything else you need help with @Araq?
21:00:49*Trustable joined #nim
21:01:38narimiranthere you go :)
21:02:11*laaron- joined #nim
21:04:00*laaron quit (Remote host closed the connection)
21:05:39Araqshashlick, green nightlies?
21:06:27Araqwas it only 'megatest'?
21:06:37Araqnarimiran said there is also some other problem
21:08:54*Trustable quit (Remote host closed the connection)
21:09:48*lritter quit (Quit: Leaving)
21:15:34*narimiran quit (Ping timeout: 272 seconds)
21:18:17*AndChat|624225 joined #nim
21:18:31*AndChat|624225 quit (Read error: Connection reset by peer)
21:19:02*AndChat|624225 joined #nim
21:19:15Araqshashlick, well we're all sleeping now. Tomorrow the next attempt to do this release...
21:20:59*envoyt quit (Ping timeout: 248 seconds)
21:21:53*zeroDotTwenty[m] joined #nim
21:26:17FromGitter<kaushalmodi> Custom types that should be supported by `strformat` (&) now need an ⏎ explicit overload of `formatValue`."
21:26:31FromGitter<kaushalmodi> That in changelog isn't true anymore
21:31:30zeroDotTwenty[m]I noticed the default gcc.options.debug changed from -O0 to -Og yesterday. Is it worth mentioning in the changelog?
21:31:35zeroDotTwenty[m]https://github.com/nim-lang/Nim/commit/721534119000c2bd53cc72b531726a6104381222
21:38:23shashlickI'll kick off nightlies again and see how it goes
21:49:14*AndChat|624225 quit (Ping timeout: 258 seconds)
21:50:20skrylar[m]thinking of splitting off just the message/handler/looper code and calling the module carrierpigeon or something
21:54:13*luis_ joined #nim
22:06:39*ng0 quit (Quit: Alexa, when is the end of world?)
22:09:48*vlad1777d joined #nim
22:37:53stefantalpalaruSurprise type change for macro param: https://github.com/nim-lang/Nim/issues/11414
22:37:55*apodo quit (Ping timeout: 258 seconds)
22:56:43*luis_ quit (Remote host closed the connection)
22:57:48*elrood quit (Remote host closed the connection)
23:04:20*krux02 quit (Remote host closed the connection)
23:10:04*Amun_Ra quit (Remote host closed the connection)
23:23:27*I_Right_I joined #nim
23:31:00*stefanos82 quit (Quit: Quitting for now...)
23:39:59FromGitter<Vindaar> @dom96: opened that PR. That was more painful than I expected :/
23:54:27*envoyt joined #nim
23:55:36*deech joined #nim