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:59 | skrylar[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:09 | skrylar[m] | @exelotl |
01:50:51 | skrylar[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:01 | sealmove | is it bad to define procs within other procs? |
01:58:24 | skrylar[m] | depends on why you need to |
01:58:37 | sealmove | Nim allows it, and it's appealing for organizing stuff better, but I am afraid it might be a performance issue |
01:58:56 | sealmove | thinking of organization reason atm |
01:59:04 | sealmove | is it reason enough? |
01:59:11 | skrylar[m] | why would it be. they're just going to get flattened out with mangled names |
01:59:14 | skrylar[m] | unless they're closures |
01:59:42 | sealmove | aha! i see, then i'll use a pragma to ensure they won't be closures |
02:00:10 | skrylar[m] | they wont be unless they actually reach for data they weren't given in parameters |
02:00:31 | skrylar[m] | there still might be a function call overhead but theres inlining or templates for that |
02:01:30 | sealmove | hmm, can it hurt inlining? doesn't seem logical |
02:01:31 | * | deech quit (Ping timeout: 246 seconds) |
02:02:20 | sealmove | you 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:09 | FromDiscord_ | <treeform> I use procs inside procs all the time. |
02:57:23 | FromDiscord_ | <treeform> Usally helper procs like < 10 lines of code |
02:57:33 | FromDiscord_ | <treeform> also if its reqcursive |
03:03:16 | FromDiscord_ | <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:30 | FromDiscord_ | <treeform> I hope so |
03:03:42 | FromDiscord_ | <treeform> I have not profiled this |
03:05:37 | leorize | they're closures, you can even return them |
03:06:07 | leorize | but 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:19 | leorize | Araq: 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:15 | Araq | leorize[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:36 | Phhere | Hello, i get the following error message while compiling something: lib/system/gc.nim(31, 10) Error: cannot open file: sharedlist |
07:49:47 | Phhere | How could i fix the issue? i just installed 0.19.6 from source |
07:54:52 | livcd | another gui lib waiting to be wrapped https://github.com/idea4good/GuiLite |
07:56:19 | leorize | Phhere: how did you install it? |
08:08:27 | * | Phhere quit (Ping timeout: 248 seconds) |
08:08:52 | PMunch | livcd, huh, that's actually pretty cool |
08:09:06 | PMunch | For making UIs for embedded stuff |
08:11:17 | PMunch | Hmm, is there a shorthand for myseq.low..myseq.high? |
08:11:26 | PMunch | Something like "for i in myseq.range" |
08:11:49 | * | ng0 joined #nim |
08:13:27 | leorize | nope, I actually have a template for that :P |
08:13:48 | leorize | seems to be something that might be useful in the stdlib |
08:16:08 | leorize | never know that there's a rangeCheck template in system.nim |
08:25:27 | leorize | narimiran: maybe it's time to remove the safeAdd family of functions? it has already been deprecated for a year |
08:30:12 | FromGitter | <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:35 | livcd | css is confusing everyone |
09:03:05 | lqdev[m] | modern browser standards are crap overall |
09:03:35 | FromGitter | <danielecook> what is the equiv. of `pass` in nim? |
09:03:39 | lqdev[m] | they're lenient as hell, which often makes for unpredictable results |
09:03:41 | FromGitter | <danielecook> as in try/except pass |
09:03:57 | lqdev[m] | discard |
09:04:10 | FromGitter | <danielecook> thanks lqdev! |
09:04:31 | lqdev[m] | np |
09:30:00 | * | Phhere joined #nim |
09:30:07 | livcd | Does anyone know of sort of a reference/cheat sheet ? something like what's in Nim in Action |
09:30:15 | Phhere | leorize: i used these commands: sh build.shbin/nim c koch./koch tools |
09:30:26 | Phhere | after that i copied bin and lib to a different location |
09:30:46 | Phhere | and i appended the path to $PATH |
09:30:52 | leorize | ah, that's why it doesn't work :p |
09:31:19 | dom96 | Best thing to do is to just use choosenim :) |
09:31:47 | leorize | Phhere: are you packaging Nim or you just want to install it? |
09:32:03 | Phhere | I just want to use it inside an hpc system with modulecmd |
09:32:12 | leorize | use choosenim :p |
09:32:21 | Phhere | so i can not move it to a new location ? |
09:32:40 | leorize | you can, but it's a tad bit complex |
09:33:04 | leorize | well here's how: ./koch install /path/you/want/to/install/nim/to |
09:34:34 | leorize | Nim have special rules in where you place the stdlib for the compiler |
09:35:31 | leorize | if you're not packaging Nim, I'd recommend using choosenim |
09:38:12 | narimiran | shashlick: are you here? |
09:40:46 | livcd | anyone tried the progress lib ? |
09:41:16 | livcd | can I somehow make it work with copyDir() ? |
09:41:49 | leorize | pretty sure you can't :P |
09:42:42 | livcd | well at least i wont try now that you told me :D |
09:45:43 | * | jasper_ joined #nim |
09:47:53 | livcd | ah so I just need my own version of copyDir and call bar.increment() from there |
09:48:26 | livcd | that seems to work? |
09:50:54 | leorize | sure? if you know what's 100% :p |
09:51:24 | livcd | sure lol |
09:52:44 | * | JustASlacker joined #nim |
09:53:36 | FromGitter | <gogolxdong> What's the default installation path of nimble packages now? |
09:54:25 | * | al_ joined #nim |
09:54:33 | FromGitter | <alehander42> isnt it ~/.nimble still |
09:55:49 | FromGitter | <alehander42> or is it the $XDG_DATA_HOME/.nimble these days |
09:56:03 | leorize | still .nimble |
09:56:19 | leorize | I'd love if it moves elsewhere though |
09:56:40 | FromGitter | <alehander42> well $XDG_DATA_HOME should solve it imo |
09:58:36 | FromGitter | <gogolxdong> Do we have to set NIMBLE_DIR to the default path? nim compiling doesn't recongize installed package , ws specifically. |
09:58:49 | leorize | nope |
09:58:59 | leorize | just make sure you've the default nim.cfg |
10:22:40 | * | leorize quit (Quit: WeeChat 2.3) |
10:37:22 | Araq | hmm we never deprecated nre.nim |
10:39:45 | FromGitter | <kaushalmodi> Araq: you mean that needs needs to be actually deprecated, right? |
10:40:06 | FromGitter | <kaushalmodi> \* nre needs |
10:40:29 | federico3 | what happened to the 0.20 release? |
10:40:43 | Araq | federico3, waiting for the nightlies now |
10:41:03 | narimiran | federico3: we're working on it as we speak. there were some last-minute things :) |
10:41:20 | Araq | what last-minute things? |
10:41:47 | * | nc-x joined #nim |
10:41:56 | nc-x | Another last minute thing that should be fixed for 0.20 IMO https://github.com/nim-lang/Nim/issues/11405 |
10:41:59 | Araq | so ... should we deprecate nre for 0.20? |
10:42:08 | narimiran | all the commits/PRs in last two days :) |
10:42:18 | FromGitter | <kaushalmodi> +1 for deprecation |
10:42:28 | FromGitter | <kaushalmodi> It will be then less confusing |
10:42:33 | FromGitter | <kaushalmodi> https://scripter.co/notes/nim/#regex |
10:42:51 | FromGitter | <kaushalmodi> I need to keep notes like above to remind myself :) |
10:43:15 | * | nc-x quit (Client Quit) |
10:43:17 | Araq | nre is liked by some, re by others |
10:44:51 | FromGitter | <kaushalmodi> I know that there's at least one issue where re doesn't behave as nre does. |
10:44:59 | FromGitter | <kaushalmodi> Isn't it possible to close that gap? |
10:45:20 | Araq | maybe, but I don't want to think about it |
10:45:52 | Araq | re never claimed to be consistent with nre, re predates nre by years |
10:46:39 | FromGitter | <kaushalmodi> This issue comes to my mind: https://github.com/nim-lang/Nim/issues/9437 |
10:47:00 | narimiran | i knew it was "-foo" before i opened it :D |
10:47:12 | FromGitter | <kaushalmodi> Hehe, it's the most obvious one |
10:47:15 | Araq | oh seriously, who cares. |
10:47:34 | Araq | if you use empty regexes in a replace() you're on your own |
10:48:32 | FromGitter | <kaushalmodi> How else would you convert "foo" to "-f-o-o-"? using `re`. |
10:48:55 | Araq | well you don't use 're' for that ;-) |
10:48:56 | narimiran | you wouldn't use re for that? :P |
10:49:13 | * | sealmove quit (Quit: WeeChat 2.4) |
10:49:35 | Araq | if the empty string is between every character, why isn't it "twice" between every character, producing --f--o--o-- ? |
10:52:24 | Araq | anyway, back to the problem: does it harm us so much to have both nre and re? |
10:52:38 | FromGitter | <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:52 | Araq | we don't spend time on either... |
10:53:13 | FromGitter | <kaushalmodi> Araq: It needs to be documented on how re differs from nre |
10:54:18 | Araq | bah |
10:54:48 | FromGitter | <kaushalmodi> Seriously, when I was new to Nim, it was very confusing as to what to use |
10:55:19 | Araq | https://github.com/nitely/nim-regex that one |
10:55:24 | Araq | :-) |
10:55:27 | FromGitter | <kaushalmodi> I just made up my mind to stick with re (for pcre) and regex from nimble |
10:55:39 | FromGitter | <kaushalmodi> That when I ended up in that re"" bug |
10:56:17 | * | abm joined #nim |
10:56:18 | FromGitter | <kaushalmodi> Yes, I use regex and plan to until I end up with one of it's limitations |
10:57:06 | FromGitter | <kaushalmodi> But the re vs nre confusion needs to be clarified or one needs to be deprecated |
10:58:34 | Araq | well https://nim-lang.github.io/Nim/lib.html does not list nre |
10:58:43 | FromGitter | <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:06 | Araq | well. you have a point. |
11:00:23 | Araq | but 0.20 is ripe, so what are we gonna do? |
11:00:58 | Araq | we can fix re.replace and deprecate nre but there is no way of telling what else nre might do differently |
11:01:05 | Araq | or Python's re for that matter. |
11:01:51 | FromGitter | <kaushalmodi> Can all nre tests be ported to re? |
11:02:25 | Araq | not immediately, re also lacks a replace that takes a callback |
11:02:50 | FromGitter | <kaushalmodi> Then the sounds like the deprecation needs to be held off |
11:03:32 | FromGitter | <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:19 | Araq | that was nre's initial goal |
11:05:36 | Araq | but I like re's implementation better and the APIs are different too |
11:05:56 | Araq | also, re.nim has multiReplace and nre doesn't |
11:06:11 | Araq | and multiReplace is the best thing since sliced bread |
11:06:58 | Araq | I can change re.replace and also add a version that takes a callback |
11:07:26 | Araq | but apart from that, I think nre should be moved to a nimble package and re should stay in the stdlib |
11:08:04 | leorize[m] | do you have any plans for replacing peg with npeg? |
11:09:43 | Araq | no. but for different reasons: |
11:10:26 | Araq | I 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:33 | FromGitter | <xmonader> @Araq is there a way to describe something like list of 2 ints or string of 1 rune? |
11:10:59 | leorize[m] | array[2,int]? |
11:11:21 | FromGitter | <kaushalmodi> > I can change re.replace and also add a version that takes a callback |
11:11:24 | FromGitter | <kaushalmodi> Awesome! |
11:11:53 | FromGitter | <xmonader> I mean as a type ⏎ ⏎ type My2IntList = seq[int] of 2 something like that |
11:12:38 | leorize[m] | `type My2Int = array[2, int]`? |
11:12:54 | leorize[m] | I'm not sure what you're trying to do |
11:13:37 | FromGitter | <xmonader> I'm trying to limit the passed sequences in some code to be sequences of 2 elements for example |
11:14:25 | leorize[m] | well, array is your best bet :p |
11:14:43 | * | deech joined #nim |
11:14:49 | leorize[m] | or just plain ol docs + if len > 2 raise exception |
11:15:01 | FromGitter | <kaushalmodi> Araq: while you are here, can help me with https://github.com/nim-lang/Nim/issues/11194#issuecomment-492052660 |
11:16:07 | FromGitter | <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:21 | FromGitter | <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:53 | leorize[m] | distinct seq + proc to convert from normal seq? |
11:17:04 | FromGitter | <kaushalmodi> Both .so's have NimMain even though the cppCompileToNamespace was specified differently |
11:18:07 | Araq | I've seen the issue but I don't know why it happens |
11:18:33 | FromGitter | <xmonader> @leorize definitely better :) thanks |
11:18:40 | leorize[m] | @xmonader: array[2, T] + proc to convert from seq :p |
11:18:50 | leorize[m] | ^ million time better :p |
11:18:55 | Araq | looking at it, I remember that re.nim essentially says re"" is not a thing and nre says it is |
11:24:38 | FromGitter | <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:37 | dom96 | Araq: +1 to deprecating nre |
12:26:43 | * | Tongir joined #nim |
12:29:47 | * | deech quit (Ping timeout: 248 seconds) |
13:13:58 | Zevv | leorize[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:49 | FromGitter | <alehander42> well cant we add the stuff from nre that is missing to re |
13:18:52 | * | apodo joined #nim |
13:18:55 | FromGitter | <alehander42> and deprecate nre then |
13:19:05 | FromGitter | <alehander42> it's very hard to remember what's in re, and what's in nre |
13:19:42 | FromGitter | <alehander42> (or deprecate re, not sure which is faster) |
13:20:12 | FromGitter | <kaushalmodi> @alehander42 looks like our thinking is in sync :) |
13:21:17 | FromGitter | <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:28 | shashlick | @narimiran what's up |
13:35:15 | narimiran | not much, you? :P |
13:53:29 | Araq | doAssert replace("bar", re"^", "foo") == "foobar" |
13:53:44 | Araq | oh fuck me, I'm not gonna do this |
13:54:13 | Araq | it's a simple loop with dozens of silly edge cases for the "empty sized matches" nonsense |
13:55:22 | Araq | it'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:41 | FromGitter | <alehander42> is there any macro api to |
14:09:48 | FromGitter | <alehander42> somehow list the defined local variables |
14:09:55 | FromGitter | <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:44 | FromGitter | <gogolxdong> How to use CORS in Jester? |
14:28:26 | jken | is it possible to import all .nim files in a directory? something like `import module/*` |
14:28:57 | Araq | shashlick, 0.20 is almost ready, we need nightly builds |
14:30:38 | lqdev[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:05 | shashlick | Sounds good @Araq |
14:32:26 | shashlick | Are you going to post the Linux binaries as well this time? |
14:35:05 | jken | Thanks lqdev[m] |
14:35:48 | FromGitter | <gogolxdong> is ` resp(Http200, [("Access-Control-Allow-Origin","*")],"success")` sufficient? |
14:41:18 | * | PMunch quit (Remote host closed the connection) |
14:41:47 | dom96 | https://forum.nim-lang.org/t/4903 |
14:41:58 | dom96 | Literally asked yesterday |
14:42:02 | dom96 | gogolxdong ^ |
14:44:25 | dom96 | oh, Araq, before I forget, we should probably make the transition for this better: https://forum.nim-lang.org/t/4891 |
14:44:41 | dom96 | breaking code subtly like this sounds like a bad idea |
14:51:07 | * | Tongir quit (Ping timeout: 248 seconds) |
14:56:57 | FromGitter | <gogolxdong> oh, good, thanks, then it seems not the problem of CORS. |
14:59:02 | Araq | dom96: 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:50 | shashlick | @Araq if we make the Linux binaries official then I can add support to choosenim as well |
15:02:35 | Araq | the last time we didn't want to do it because it would be a (minor) website redesign |
15:05:41 | shashlick | sure, but can we upload the binaries to the website? that way choosenim can still find them |
15:05:53 | shashlick | I can update the website as well |
15:06:59 | Calinou | can we upload binaries to GitHub Pages without committing them to version control? |
15:07:16 | Calinou | unless you mean hosting binary releases on GitHub Releases (which is a good thing to do) |
15:07:39 | shashlick | github pages are also versioned |
15:08:15 | shashlick | nightlies are already on github releases |
15:08:31 | shashlick | i'm talking about posting to the http://nim-lang.org site |
15:12:55 | * | floppydh quit (Quit: WeeChat 2.4) |
15:20:35 | Araq | sure we can do that. I'm not sure Linux users appreciated binaries though |
15:23:33 | dom96 | Binaries are definitely appreciated |
15:23:50 | shashlick | okay i'll create a PR for the website with the new linux binaries section |
15:23:53 | dom96 | Do we have arm binaries for Linux? That would be really impactful |
15:25:43 | shashlick | yes they are being created in nightlies |
15:25:53 | * | xet7 quit (Ping timeout: 245 seconds) |
15:26:00 | dom96 | ooh |
15:29:16 | shashlick | @dom96 - curious on your feedback on the arm work |
15:31:45 | * | PMunch joined #nim |
15:32:54 | federico3 | dom96: impactful? Why? |
15:33:08 | dom96 | because arm cores are slow |
15:33:33 | dom96 | shashlick: what do you mean, what sort of feedback would you like? |
15:33:34 | federico3 | ...and? |
15:37:49 | * | abm joined #nim |
15:38:55 | * | xet7 joined #nim |
15:40:30 | lqdev[m] | how do I choose between a singly and doubly linked list? |
15:40:44 | Araq | simple: use 'seq' instead |
15:40:58 | shashlick | well, binaries for armv6, v7, v7a and 64 and android-64 are being created |
15:41:15 | shashlick | so will be cool if i could hear about how well they are working |
15:41:22 | dom96 | federico3: 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:24 | lqdev[m] | I need to dynamically rearrange elements (bring UI controls to top) |
15:41:24 | shashlick | if you are using arm, will be cool to hear |
15:41:42 | lqdev[m] | a seq has an O(n) overhead |
15:41:44 | dom96 | oh no, sorry, I don't |
15:41:46 | lqdev[m] | a linked list has O(1) |
15:42:06 | Calinou | dom96: also for containers :P |
15:42:09 | Calinou | (and CI) |
15:42:22 | Calinou | building from source on every CI pipeline is a huge waste of time |
15:42:44 | dom96 | sure |
15:43:16 | federico3 | dom96: 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:47 | dom96 | yes, sure, people can use the OS package, but they cannot get nightly that way |
15:43:58 | dom96 | and I think getting nightlies is still very common |
15:44:03 | federico3 | that's what I wrote |
15:44:03 | shashlick | that'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:23 | dom96 | In fact, I have data to back it up |
15:44:34 | dom96 | for choosenim it is incredibly impactful to get binaries |
15:44:34 | federico3 | but I hope not many people have to use an arm as development environment |
15:45:02 | shashlick | that's why i want to post the linux binaries so that choosenim can leverage them |
15:46:22 | dom96 | Couldn't choosenim simply download these from whatever website hosts the nightlies now? |
15:46:38 | shashlick | ya i plan on adding nightlies to choosenim as well, but official binaries would be cool |
15:47:26 | dom96 | oh sure |
15:47:33 | dom96 | Agreed. |
15:48:23 | dom96 | so yeah, please implement linux binary support in choosenim |
15:48:26 | dom96 | ideally with a way to let the user force a source build |
15:48:46 | shashlick | sounds good |
15:50:38 | PMunch | Hmm, 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:39 | shashlick | is anyone interested in maintaining nim install from chocolatey? |
16:12:45 | shashlick | https://chocolatey.org/packages/nim |
16:14:07 | Araq | oh surprise, an unmaintained package |
16:14:24 | stefanos82 | dom96: when 0.20 becomes stable, are there any plans to update your book? |
16:14:45 | dom96 | My book should be compatible |
16:14:49 | dom96 | save for some deprecation warnings |
16:15:03 | dom96 | I will need to make a note to verify this though |
16:15:24 | dom96 | The test suite does have ~95% of the examples in my book though, so it should work |
16:15:35 | dom96 | Unless someone sneakily modified those :P |
16:15:58 | Araq | we did do that, yes |
16:16:02 | * | nc-x joined #nim |
16:16:06 | Araq | but I don't remember what we changed |
16:16:11 | Araq | it was minor |
16:16:34 | nc-x | chocolatey is full of unmaintained stuff |
16:16:44 | shashlick | i can adopt chololatey if there is sufficient interest here |
16:16:48 | shashlick | scoop is up to date |
16:17:05 | shashlick | i don't use it myself though so meh |
16:18:08 | nc-x | btw 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:35 | nc-x | shashlick: i don't think (m)any people use choco or even scoop |
16:19:43 | shashlick | choosenim is right up top |
16:19:56 | shashlick | finish is #2 |
16:21:11 | nc-x | 👍 |
16:23:34 | shashlick | well, actually choosenim is #1 for linux, not mentioned for windows |
16:23:37 | shashlick | that needs to change as well |
16:23:38 | dom96 | well, I just checked and there are no major changes to niminaction tests |
16:23:47 | dom96 | as in, breaking changes |
16:23:53 | dom96 | So book examples should still compile |
16:24:29 | nc-x | shashlick: there is an old PR on nim website github repo regarding that |
16:24:31 | shashlick | i 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:44 | Araq | I thought you fixed that and choosenim supports 64bits now |
16:26:46 | shashlick | it does, but that is if there's already a gcc installed |
16:27:01 | shashlick | if you have a 64-bit mingw installed, it installs the 64-bit nim |
16:27:10 | shashlick | but if there's no gcc, it downloads 32-bit today |
16:27:37 | shashlick | i 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:46 | stefanos82 | dom96: awesome! |
16:28:03 | stefanos82 | so the actual changes are how backend is actually implemented, nice! |
16:29:48 | shashlick | @Araq - what way can I help with 0.20? any last minute stuff? |
16:30:22 | Araq | don't ask me, ask narimiran |
16:32:36 | Araq | well you can update the website, right? |
16:33:07 | Araq | bbs |
16:33:24 | * | nc-x quit (Quit: Page closed) |
16:33:36 | leorize | anyone want to update the msys2-nim package as well? :p |
16:35:20 | narimiran | re windows and choosenim: https://github.com/nim-lang/website/pull/148 |
16:36:49 | narimiran | also 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:33 | narimiran | version 0.20 is tagged :) shashlick, please start the nightlies |
16:43:56 | Zevv | \o/ hooray! |
16:44:14 | FromGitter | <kaushalmodi> woot! |
16:44:14 | * | brainproxy joined #nim |
16:44:14 | Zevv | and it isn't even night yet |
16:44:29 | lqdev[m] | nice! |
16:44:30 | FromGitter | <alehander42> v 20.0 |
16:45:02 | dom96 | narimiran: please let me take a look at the release article before you push |
16:45:25 | dom96 | I want to double check some things |
16:45:29 | narimiran | alehander42 you frightened me for a moment, i thought i made the mistake in changing the version number :D |
16:45:55 | narimiran | dom96: you already have the link, right? (changelog should be updated, btw) |
16:46:03 | FromGitter | <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:56 | FromGitter | <alehander42> sorry remembering the araq idea that we just drop the 0. :P |
16:47:08 | dom96 | narimiran: what about bug fixes? |
16:47:21 | * | laaron joined #nim |
16:47:41 | narimiran | dom96: they weren't created yet |
16:47:45 | dom96 | also, we should probably emphasise the shr change |
16:48:08 | narimiran | yep, unfortunately (if you ask me) |
16:48:47 | dom96 | I 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:26 | dom96 | I moved it and boldened it |
16:49:54 | dom96 | Also, I removed the first phrase in the first sentence |
16:49:58 | dom96 | I don't think it sounds good |
16:50:23 | dom96 | it's like we're complaining about how long it took us, better to stay positive :) |
16:54:25 | federico3 | narimiran: oh good \o/ |
16:56:04 | federico3 | tagged but not listed in https://nim-lang.org/install_unix.html |
16:56:25 | FromGitter | <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:26 | federico3 | which one is the "real" release? -_-' |
16:57:34 | * | Trustable joined #nim |
16:58:09 | narimiran | federico3: wait, it is coming, it is a long process :) |
16:58:33 | federico3 | narimiran: is the tag on GH "final"? e.g. no suprises? |
16:58:41 | narimiran | federico3: i hope so :) |
16:58:54 | federico3 | :-/ |
17:00:09 | narimiran | now 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:42 | narimiran | tomorrow morning everything should be in place |
17:03:39 | shashlick | nightlies take a while, kicking off |
17:04:43 | shashlick | do we now have a version-0-20 branch? |
17:04:53 | shashlick | then nightlies need to be updated first |
17:05:44 | narimiran | shashlick: here you go: https://github.com/nim-lang/Nim/tree/version-0-20 |
17:06:04 | shashlick | okay do we want to also continue building for version-0-19 or stop that going froward? |
17:06:33 | narimiran | v0.19 is so last year :P |
17:09:32 | * | stefantalpalaru joined #nim |
17:09:52 | stefantalpalaru | When will https://nim-lang.org/download/nim-0.20.0.tar.xz be available? |
17:11:30 | shashlick | working on it, probably a couple hours i think |
17:13:23 | leorize | narimiran: I think you should check for typo in the changelog :p |
17:13:59 | leorize | pretty sure the very first bullet point have a typo |
17:15:32 | stefantalpalaru | How 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:15 | shashlick | @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:03 | leorize | once we got the new csources for 0.20 I'll continue work on azure :) |
17:17:39 | shashlick | do 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:54 | Araq | stefantalpalaru: it's a release build |
17:22:05 | Araq | release builds now don't disable the runtime checks |
17:22:07 | shashlick | please confirm - waiting to kick off |
17:23:02 | Araq | confirm what? |
17:23:12 | stefantalpalaru | That's fine, but shouldn't sysFatal() print a traceback? |
17:23:24 | shashlick | do we need 0.20 csources before nightlies get kicked off |
17:23:27 | Araq | no we don't have tracebacks in release mode |
17:23:37 | Araq | er ... hmm |
17:23:37 | shashlick | and do you want to fix v0.20.0 - XX/XX/2019 in changelog |
17:23:59 | Araq | let me check what our wiki page says |
17:24:05 | stefantalpalaru | And no, it's not a release build. There is no "-d:release" here. |
17:24:42 | leorize | then do you have any reproducible source code? |
17:27:51 | Araq | [ -d csources ] || git clone --depth 1 https://github.com/nim-lang/csources.git |
17:28:23 | Araq | shashlick: c sources of 0.19 can build 0.20 |
17:28:37 | Araq | so there is no need to wait |
17:29:34 | shashlick | okay cool |
17:29:40 | shashlick | and the changelog - you okay with that? |
17:29:52 | shashlick | date is missing, purely cosmetic |
17:30:06 | Araq | well it should have a date |
17:31:15 | * | Vladar joined #nim |
17:37:34 | FromDiscord_ | <treeform> where is the 0.20 change log? |
17:38:28 | FromDiscord_ | <treeform> I can only find the 0.19 one. |
17:39:00 | shashlick | https://github.com/nim-lang/Nim/blob/devel/changelog.md |
17:41:38 | FromDiscord_ | <treeform> thanks! |
17:42:21 | * | Trustable quit (Remote host closed the connection) |
17:45:04 | * | Jesin quit (Quit: Leaving) |
17:45:45 | shashlick | @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:03 | federico3 | shashlick: 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:22 | federico3 | due to the csources I guess... sigh |
18:04:50 | * | andremedeiros joined #nim |
18:06:14 | andremedeiros | hello 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:26 | andremedeiros | nim installed via homebrew, if that helps. anyone know how to get past this? |
18:07:25 | shashlick | @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:45 | federico3 | shashlick: what about the csources? |
18:07:58 | shashlick | they are also pulled from head |
18:10:04 | FromGitter | <jrfondren> andremedeiros, does that program compile if you pass -d:posix ? |
18:10:25 | andremedeiros | good question, let me check |
18:11:03 | federico3 | shashlick: in the previous release the amount of difference between the xz and the tar.gz was 6000 files |
18:11:54 | andremedeiros | that works actually, @jrfonden. I'm trying to target wasm, if that helps tho |
18:12:28 | FromGitter | <jrfondren> CTime is defined in times.nim behind `when defined(posix)` and `when defined(windows)` |
18:13:03 | federico3 | shashlick: and that is without comparing the content of the files! |
18:13:06 | FromGitter | <jrfondren> probably, whatever you're doing to target wasm is stripping the -d:posix |
18:13:14 | FromGitter | <jrfondren> maybe rightfully. |
18:13:15 | Araq | shashlick: why would I want to re-tag? |
18:13:49 | shashlick | well, that was my question |
18:14:04 | shashlick | if you don't want to retag v0.20.0 with a good changelog, i'm fine, i'll kick off nightlies |
18:14:05 | Araq | no, why would I? because of the missing date? |
18:14:06 | andremedeiros | huh most definitely rightfully then I suspect |
18:14:12 | shashlick | ya that's what i was asking |
18:14:49 | Araq | not worth it, the website has the date, the github repo changelog.md is not *that* important |
18:15:26 | Araq | [ -d csources ] || git clone --depth 1 https://github.com/nim-lang/csources.git |
18:15:32 | Araq | however, this line makes me nervous |
18:15:39 | shashlick | unfortunately nightlies is failing - https://travis-ci.org/genotrance/nightlies |
18:15:45 | Araq | shouldn't it checkout 0.19? |
18:16:50 | andremedeiros | @jrfondren thank you for your help |
18:17:54 | FromGitter | <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:57 | shashlick | @Araq - well latest csources is tagged as 0.19.0 so it is the same |
18:19:23 | Araq | yeah but after I updated C sources nightlies will start off from a different base |
18:19:25 | shashlick | but anyway, osx and linux nightlies are failing |
18:22:36 | Araq | I'm looking at the logs but I'm blind |
18:22:39 | Araq | what's the error? |
18:23:22 | dom96 | jrfondren: wow, nice catch on the -d:posix |
18:25:08 | shashlick | Am running to a meeting but wasn't clear from my initial look |
18:25:27 | shashlick | Must be some Nim docs failure |
18:28:15 | dom96 | PSA: Please make your commits conform to the usual `fixes #1234` template, otherwise generating release notes is a PITA |
18:30:18 | Araq | PSA? |
18:30:28 | FromGitter | <jrfondren> public service announcement |
18:30:52 | Araq | shashlick: when will you be back? |
18:32:47 | shashlick | 30 minutes |
18:34:02 | Araq | ok so I'll try to rebuild the C sources then |
18:34:09 | Araq | if it's broken already ... :P |
18:44:07 | andremedeiros | / |
18:54:22 | Araq | hmm that worked... nice. last time I did this was 9 months ago |
19:00:36 | Araq | er ... 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:24 | FromGitter | <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:32 | dom96 | sorry, not possible right now |
19:16:41 | dom96 | We should discuss how to implement this as a feature though |
19:17:50 | FromGitter | <brentp> ok. I'll work around it. |
19:18:46 | stefantalpalaru | Using 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:16 | noonien | is 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:49 | dom96 | Araq, is this fixed? https://github.com/nim-lang/Nim/issues/6071 |
19:20:14 | dom96 | stefantalpalaru, try playing with the --verbosity flag |
19:21:23 | stefantalpalaru | Last hint: "Hint: uri [Processing]" refers to lib/pure/uri.nim so it's not helpful. |
19:21:48 | dom96 | if you increase the verbosity high enough you should see more messages |
19:24:32 | stefantalpalaru | At level 3: "???(0, 0) Hint: 842543 [Processing]" :-) |
19:24:47 | dom96 | hah, guess the compiler doesn't know where it is :) |
19:26:55 | FromGitter | <Vindaar> @brentp: maybe this is already enough: http://ix.io/1L1l/nim |
19:27:38 | FromGitter | <brentp> wow. that's nice! |
19:27:50 | FromGitter | <brentp> I just wrote a custom `%` for now. |
19:34:42 | dom96 | Vindaar: PR? :D |
19:36:58 | stefantalpalaru | Does this sound familiar for a const declaration? "nimcheck: VM problem: dest register is not set" |
19:38:03 | * | narimiran joined #nim |
19:40:06 | FromGitter | <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:08 | dom96 | Perhaps, but this seems like a simple feature, even if there is push back you won't lose much time :) |
19:43:49 | dom96 | So 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:11 | FromGitter | <Vindaar> yeah, true. Will do it later |
19:54:50 | lqdev[m] | what is the purpose of this? https://github.com/nim-lang/Nim/blob/devel/lib/system/io.nim#L385 |
19:58:45 | noonien | is there a way to make the compiler not include file names in the binary? |
19:58:57 | dom96 | -d:release? |
19:59:48 | noonien | `strings bin | grep '.nim$'` still returns some paths from the stdlib |
20:02:34 | * | nsf quit (Quit: WeeChat 2.4) |
20:03:23 | dom96 | Possibly a bug |
20:03:26 | dom96 | Might be worth reporting |
20:10:32 | FromGitter | <jrfondren> @lqdev it's not exported and it's not used, so I reckon there's no purpose to it. |
20:11:55 | shashlick | looks like megatest is failing in nightlies |
20:12:00 | shashlick | could reproduce on local linux as well |
20:14:42 | * | ng0 quit (Quit: Alexa, when is the end of world?) |
20:15:15 | Araq | shashlick, I think I know why |
20:15:32 | stefantalpalaru | info.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:58 | stefantalpalaru | "Error: unhandled exception: value out of range: -1 [RangeError]" |
20:16:59 | FromGitter | <jrfondren> how does that happen, that code has a negative column? |
20:17:09 | stefantalpalaru | This comes right after "???(0, 0) Hint: 842556 [Processing]" |
20:17:17 | FromGitter | <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:25 | stefantalpalaru | jrfondren: it's actually https://github.com/nim-lang/Nim/blob/devel/compiler/ast.nim#L1073 |
20:28:40 | stefantalpalaru | If I set that default to 0, the problem is fixed. |
20:29:02 | FromGitter | <jrfondren> look at the comment though. |
20:29:14 | FromGitter | <jrfondren> the problem of it not being out of range for spaces() is fixed, but is the output even meaningful? |
20:32:11 | stefantalpalaru | Meaningful or not, at least the compiler doesn't crash. |
20:41:43 | shashlick | @Araq @narimiran - something after this commit broke nightlies - https://github.com/nim-lang/Nim/commit/71388caf2e6011690e0ba51a93bdec1419b5af14 |
20:42:37 | Araq | shashlick, we removed the tag and I'm overhauling the changelog.md |
20:48:17 | shashlick | megatest failure probably due to https://github.com/nim-lang/Nim/commit/efbf43d4a9b9ffdee5db95749d0d992bc16bb350 |
20:48:36 | Araq | I "fixed" that one |
20:48:38 | shashlick | Error: unhandled exception: intVal is not accessible [FieldError] |
20:48:48 | shashlick | okay cool |
20:49:05 | Araq | just pushed it |
20:53:04 | FromGitter | <kaushalmodi> Araq: regarding https://github.com/nim-lang/Nim/commit/591007878cac59e439b08cddc8811ad8c9bcd93b |
20:53:28 | FromGitter | <kaushalmodi> the idea was to move the changelog.md to https://github.com/nim-lang/Nim/tree/devel/changelogs |
20:53:43 | FromGitter | <kaushalmodi> as changelog_0_20_0.md |
20:54:05 | FromGitter | <kaushalmodi> and the changelog.md you modified would be emptied out |
20:55:02 | FromGitter | <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:58 | FromGitter | <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:16 | Araq | well it's not covered by our release notes |
20:58:46 | Araq | also we have the same info in our website so what's the point? |
20:59:21 | narimiran | kaushalmodi: there will be changelog_0_20_0.md, don't worry ;) |
20:59:37 | shashlick | okay anything else you need help with @Araq? |
21:00:49 | * | Trustable joined #nim |
21:01:38 | narimiran | there you go :) |
21:02:11 | * | laaron- joined #nim |
21:04:00 | * | laaron quit (Remote host closed the connection) |
21:05:39 | Araq | shashlick, green nightlies? |
21:06:27 | Araq | was it only 'megatest'? |
21:06:37 | Araq | narimiran 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:15 | Araq | shashlick, 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:17 | FromGitter | <kaushalmodi> Custom types that should be supported by `strformat` (&) now need an ⏎ explicit overload of `formatValue`." |
21:26:31 | FromGitter | <kaushalmodi> That in changelog isn't true anymore |
21:31:30 | zeroDotTwenty[m] | I noticed the default gcc.options.debug changed from -O0 to -Og yesterday. Is it worth mentioning in the changelog? |
21:31:35 | zeroDotTwenty[m] | https://github.com/nim-lang/Nim/commit/721534119000c2bd53cc72b531726a6104381222 |
21:38:23 | shashlick | I'll kick off nightlies again and see how it goes |
21:49:14 | * | AndChat|624225 quit (Ping timeout: 258 seconds) |
21:50:20 | skrylar[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:53 | stefantalpalaru | Surprise 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:59 | FromGitter | <Vindaar> @dom96: opened that PR. That was more painful than I expected :/ |
23:54:27 | * | envoyt joined #nim |
23:55:36 | * | deech joined #nim |