00:00:05 | * | ghost64 quit (Quit: See you!) |
00:00:36 | * | ghost64 joined #nim |
00:15:43 | * | qwertfisch is now known as qwertfysch |
00:20:18 | * | elrood quit (Remote host closed the connection) |
00:25:46 | * | zachk quit (Quit: Leaving) |
00:53:38 | * | Aareon_ quit (Quit: Quit) |
01:10:12 | * | Snircle quit (Quit: Textual IRC Client: www.textualapp.com) |
01:26:31 | * | krux02 quit (Remote host closed the connection) |
01:46:05 | * | kapil____ joined #nim |
01:52:09 | * | hyp3rbor3ax_ joined #nim |
01:53:07 | * | theelous3_ quit (Ping timeout: 240 seconds) |
01:53:25 | * | hyp3rbor3ax_ quit (Remote host closed the connection) |
01:54:36 | * | hyp3rbor3ax_ joined #nim |
01:55:23 | * | hyp3rbor3ax quit (Ping timeout: 268 seconds) |
01:55:55 | * | hyp3rbor3ax_ quit (Remote host closed the connection) |
01:57:10 | * | hyp3rbor3ax_ joined #nim |
01:58:09 | * | hyp3rbor3ax_ quit (Remote host closed the connection) |
02:23:44 | * | Aareon_ joined #nim |
03:05:12 | * | banc quit (Quit: ZNC - http://znc.in) |
03:22:03 | * | banc joined #nim |
03:28:17 | * | endragor joined #nim |
04:16:36 | * | vlad1777d quit (Ping timeout: 260 seconds) |
04:27:45 | * | chemist69 quit (Ping timeout: 252 seconds) |
04:27:59 | * | Aareon joined #nim |
04:29:42 | * | chemist69 joined #nim |
05:19:29 | * | stefanos82 joined #nim |
05:34:58 | * | narimiran joined #nim |
05:35:09 | * | nsf joined #nim |
05:37:13 | * | rockcavera quit (Remote host closed the connection) |
05:37:21 | Aareon | mother of god https://github.com/Aareon/py-nim/blob/lexer-impl-patch-1/compiler/lexer.py |
05:37:35 | Aareon | this is almost like doing chores. |
05:38:09 | Aareon | except it's like doing chores with sandpaper underwear |
05:38:58 | * | narimiran quit (Remote host closed the connection) |
05:39:19 | * | narimiran joined #nim |
05:39:21 | Aareon | 1. there is 0 optimization, so it's like trying to read a coloring book |
05:39:45 | Aareon | 2. there are no tests yet |
05:40:32 | * | rockcavera joined #nim |
05:40:46 | Aareon | 3. it's not functional and won't be for what I feel like is going to be a VERY long time |
05:42:09 | Aareon | oh, and the fact that I essentially have to "emulate" Nim's standard lib, starting from scratch lmao |
06:20:27 | * | Aareon quit (Ping timeout: 256 seconds) |
06:26:25 | * | endragor quit (Quit: Leaving...) |
06:41:49 | * | narimiran quit (Remote host closed the connection) |
06:45:07 | * | narimiran joined #nim |
06:54:52 | * | Trustable joined #nim |
07:07:01 | * | Summertime2 is now known as Summertime |
07:17:35 | * | Vladar joined #nim |
07:20:13 | * | vlad1777d joined #nim |
07:25:55 | * | vlad1777d quit (Ping timeout: 268 seconds) |
07:27:58 | * | dddddd quit (Remote host closed the connection) |
08:18:20 | * | MyMind joined #nim |
08:18:45 | * | Sembei quit (Ping timeout: 252 seconds) |
08:23:52 | Araq | narimiran: I think it's fair to say that the cherry-picking is the only feasible thing for 0.19.2 |
08:25:14 | narimiran | ok, let's cherry-pick and hope for the best |
08:27:19 | Araq | even if I fixed the regressions today it would still be 0.20 becasue the 'typed' AST changed and is about to be documented for the first time |
08:27:43 | narimiran | in other news, no matter how many times i restart the tests, this one always "fails": https://github.com/nim-lang/Nim/pull/9495 |
08:28:21 | narimiran | Araq: ok, i'll work on cherry picking today, guided by your "when in doubt, leave it out" |
08:41:51 | * | endragor joined #nim |
08:48:14 | Araq | after the tests the command is nim c -r nimdoc\tester |
08:48:28 | Araq | but it's a mysterious failure indeed |
08:49:30 | * | PMunch joined #nim |
09:04:03 | * | endragor_ joined #nim |
09:04:22 | * | endragor quit (Ping timeout: 272 seconds) |
09:09:35 | * | endragor_ quit (Quit: Leaving...) |
09:09:45 | * | endragor joined #nim |
09:15:12 | * | kapil____ quit (Quit: Connection closed for inactivity) |
09:20:58 | narimiran | Araq: i started doing my cherry-picking and here is an idea for the future. every commit/PR which deals with compiler, should have [compiler] (or something similar) in its title |
09:23:19 | Araq | the commit contains what files have been touched |
09:23:41 | Araq | and the issues that are referenced have tags |
09:23:51 | * | deathpoison joined #nim |
09:24:28 | Araq | I know it's some work to extract that information but it's there and Nim's motto is "automate what you can" |
09:24:35 | narimiran | ok |
09:34:49 | * | Vladar quit (Remote host closed the connection) |
09:34:54 | * | theelous3 joined #nim |
09:35:25 | * | dom96_w joined #nim |
09:37:38 | * | CcxWrk joined #nim |
09:40:29 | Araq | how is it going otherwise? is git smart enough to cherry pick or does that cause conflicts? |
09:44:33 | * | PMunch quit (Ping timeout: 252 seconds) |
09:52:43 | * | theelous3 quit (Quit: Leaving) |
09:53:02 | * | theelous3 joined #nim |
09:56:53 | * | PMunch joined #nim |
09:58:06 | narimiran | i'll show you in a bit :) |
09:58:55 | narimiran | "This branch is 153 commits ahead, 266 commits behind nim-lang:devel." :) |
09:58:58 | narimiran | https://github.com/narimiran/Nim/tree/miran-version-0-19-2 |
09:59:27 | narimiran | my workflow was basically "if a commit touches compiler, don't pick it" |
10:01:08 | narimiran | Araq: ^ |
10:03:19 | * | Ils joined #nim |
10:05:45 | Araq | ok well? |
10:08:12 | * | theelous3 quit (Ping timeout: 252 seconds) |
10:16:06 | * | chemist69 quit (Ping timeout: 264 seconds) |
10:17:42 | Araq | it's green |
10:17:56 | * | chemist69 joined #nim |
10:18:04 | * | couven92 joined #nim |
10:18:42 | narimiran | ok, should i merge it into araq-version-0-19-2? or just push it the wait it is to nim repo? |
10:19:02 | narimiran | i think direct push might be better |
10:19:19 | narimiran | (so there'll be miran-version-0-19-2 in nim repo) |
10:19:45 | Araq | push it into araq-version-0-19-2 or to version-019-2 |
10:19:51 | Araq | push it into araq-version-0-19-2 or to version-0-19-2 |
10:21:49 | narimiran | here it is: https://github.com/nim-lang/Nim/tree/version-0-19-2 |
10:22:21 | narimiran | but please intensively test it, and see if anything else should be added, or something removed |
10:24:10 | * | chemist69 quit (Ping timeout: 250 seconds) |
10:26:20 | * | chemist69 joined #nim |
10:34:36 | Araq | hmm why did you pick " Quote do now works with result in block"? |
10:35:47 | Araq | or "make more tests green for C++; refs #7870" ? |
10:36:10 | Araq | or "Add parsing empty attribs to htmlparser" |
10:36:11 | Araq | :-) |
10:37:10 | Araq | or "fixes #7842 if no uri.scheme specified raise ValueError with hint (#7846)" |
10:38:03 | stefanos82 | Araq: do we have any results towards tiny C REPL support so far? |
10:38:19 | * | ftsf quit (Ping timeout: 268 seconds) |
10:39:48 | Araq | what do you mean "results"? |
10:40:26 | Araq | we're having a grant about hot code reloading, I'm unsure if that covers a REPL too |
10:44:41 | * | krux02 joined #nim |
10:48:55 | narimiran | Araq: because i wanted to spend less than 3 hours on cherry-picking ;) as i said, please check for errors as i was doing this semi-automatically |
10:49:16 | * | Snircle joined #nim |
11:08:03 | stefanos82 | Araq: I thought you had already funded for further REPL improvement |
11:08:10 | stefanos82 | I must have missed some episodes lol |
11:10:09 | * | revere quit (Ping timeout: 250 seconds) |
11:12:10 | * | revere joined #nim |
11:16:10 | * | Vladar joined #nim |
11:27:05 | PMunch | Ugh, LSP sends the source file as UTF-8, which is great, because that's what nimsuggest expects. |
11:27:36 | PMunch | But it sends positions as the number of UTF-16 code-units for some stupid reason |
11:28:08 | krux02 | lol |
11:28:23 | PMunch | So I've got to create a way to convert between UTF-16 code-units to what I assume is byte positions that nimsuggest accepts |
11:28:51 | PMunch | For 99% of code it will probably be a 1:1 mapping though |
11:29:06 | krux02 | no |
11:29:17 | krux02 | comments are with äöü |
11:29:19 | PMunch | All of ASCII takes one byte in UTF-8 and 1 code-unit in UTF-16 |
11:29:55 | PMunch | Still though, it's probably not that much. So I should optimize for the scenario where there is no difference |
11:30:04 | krux02 | comments and strings can be anything |
11:30:14 | krux02 | yes |
11:31:14 | krux02 | LSP was designed with the mindset that files are always utf8 and string literals in all programming languages are utf16 like in C# and Java |
11:31:23 | krux02 | I think javascript as well |
11:32:07 | PMunch | Yeah I know why, it's still dumb |
11:32:23 | krux02 | yes it is |
11:33:39 | PMunch | My idea is to read through each line, and create a sequence of (UTF-16 offset, UTF-16/8 diff) tuples for all the Runes that have a different representation in UTF-8 and UTF-16. Then when I get a UTF-16 position, I can look up the line (which will likely be a zero-length sequence), and iterate until the offset is larger the the offset I have. For each offset I need to add the offset-diff value. |
11:43:51 | Araq | nimsuggest doesn't expect source files |
11:43:57 | Araq | it expects filenames |
11:44:13 | Araq | files need to be stored somewhere |
11:44:24 | Araq | tmp comes to mind, but it can be anything |
11:44:55 | Araq | it has the concept of "this file here over there is really this one instead" aka "dirty file" |
11:45:55 | Araq | and before you scream "inefficient" I benchmarked temporary file savings on my Windows machine with no SSD at 4000 saves per second |
11:46:27 | Araq | so it's a non-issue |
11:57:13 | Araq | narimiran, well a couple of commits are not good, now what? |
11:57:43 | narimiran | Araq: we revert them |
11:58:19 | Araq | ok, should I gist a list? |
11:58:24 | narimiran | but i'm off to lunch. make a list of bad commits and i can revert them later (or you can do it) |
11:58:36 | Araq | ok ty |
11:58:38 | narimiran | yep |
11:59:11 | * | narimiran quit (Remote host closed the connection) |
12:06:04 | * | qwertfysch is now known as qwertfisch |
12:06:07 | * | Ils quit (Ping timeout: 256 seconds) |
12:07:15 | * | elrood joined #nim |
12:25:29 | * | seni quit (Quit: Leaving) |
12:30:22 | krux02 | Araq: when I am correct temporary source files that are overridden constantly will be in the cache |
12:30:42 | krux02 | so it's not really written down to the HD so it can be fast |
12:31:20 | krux02 | but I don't know how much the OS is involved in caching files, and how much it is the cache that is built into the hard drive. |
12:51:06 | * | chemist69 quit (Ping timeout: 272 seconds) |
12:54:14 | * | chemist69 joined #nim |
13:01:03 | * | dom96_w quit (Quit: My MacBook has gone to sleep. ZZZzzz…) |
13:03:08 | PMunch | Araq, yeah I know. That's not really a problem |
13:03:41 | PMunch | I still have to convert the position I get from LSP to something that nimsuggest is able to use though |
13:04:25 | * | kapil____ joined #nim |
13:04:51 | PMunch | Say I want autocompletion for where the cursor is. I get a position in UTF-16 code-units from LSP, but nimsuggest needs to be told where in the file it is, so I have to convert it to a UTF-8 byte count instead. |
13:05:55 | Araq | sure |
13:05:57 | * | dom96_w joined #nim |
13:58:31 | * | endragor quit (Remote host closed the connection) |
13:58:58 | * | endragor joined #nim |
13:59:52 | * | Ils joined #nim |
14:03:07 | * | endragor quit (Ping timeout: 240 seconds) |
14:08:31 | * | Ils quit (Ping timeout: 256 seconds) |
14:15:01 | * | revere quit (Ping timeout: 246 seconds) |
14:17:53 | * | endragor joined #nim |
14:21:45 | * | nsf quit (Quit: WeeChat 2.2) |
14:22:47 | * | endragor quit (Ping timeout: 268 seconds) |
14:25:04 | * | revere joined #nim |
14:29:18 | * | Aareon_ quit (Ping timeout: 264 seconds) |
14:32:40 | * | Trustable quit (Remote host closed the connection) |
14:38:05 | * | narimiran joined #nim |
14:41:20 | narimiran | hmm, is gitter-irc bridge broken? |
14:41:33 | narimiran | yup, it seems like it |
14:41:47 | * | xet7 joined #nim |
14:44:27 | * | revere quit (Ping timeout: 264 seconds) |
14:54:20 | * | Trustable joined #nim |
14:54:34 | * | Aramya joined #nim |
14:57:26 | narimiran | Araq: if you've made that list of the commits which shouldn't be in 0.19.2 — i'm ready when you are |
14:58:05 | * | Aramya left #nim (#nim) |
14:59:50 | Araq | well I'm not ready, 400 lines to read |
15:00:21 | narimiran | ok, no pressure :) |
15:06:04 | * | Aareon_ joined #nim |
15:07:10 | Araq | https://gist.github.com/Araq/43e399f22ad5b8742a6d5f62810806b6 |
15:07:52 | narimiran | great! i'll make rebase, so history will stay clean (with new SHAs) |
15:08:20 | Araq | the only remaining problem is how to generate a changelog that reflects this |
15:09:39 | Araq | so just to be really clear: my gist contains the commits that you picked but should NOT be in 0.19.2 |
15:13:30 | * | revere joined #nim |
15:15:04 | narimiran | it was clear. working on removing them |
15:18:41 | * | revere quit (Quit: quit) |
15:19:20 | * | revere joined #nim |
15:19:55 | Araq | oh and use the cherry picking that takes over the original commit checksum |
15:20:24 | Araq | -x switch |
15:27:46 | * | PMunch quit (Quit: Leaving) |
15:30:13 | narimiran | too late for that? |
15:31:12 | * | Vladar quit (Remote host closed the connection) |
15:32:41 | narimiran | ok, i removed the commits you marked, and now the new 'version-0-19-2' branch is: "This branch is 112 commits ahead, 266 commits behind devel." |
15:41:24 | * | dddddd joined #nim |
15:42:09 | narimiran | i guess i could go once again through devel, and then (to another branch) cherry pick with -x each of those 112 commits.... |
16:07:56 | * | Ils joined #nim |
16:09:14 | Araq | your choice |
16:10:21 | narimiran | well, leaving it the way it is is easier for me (no additional work to do), but if there are pros of using -x, which will be useful in the long term (or even in short term), i'll do it |
16:13:52 | Araq | shouldn't this be automated? how do you do it? |
16:15:24 | narimiran | i've manually gone through the commits in devel and then used git plugin in vscode to just click on the commits i want to cherry pick. so no, it wasn't automated :D |
16:16:16 | Araq | well sorry but I think this -x switch is important enough |
16:16:41 | Araq | and I thought you wrote some cool "Nim release cherry picker" tool :-) |
16:17:33 | narimiran | haha, i thought "this is one-time thing only, no need to build a tool" ;) |
16:17:57 | narimiran | but if the future commits will have [backport] then yeah, the tool is way to go. this was too much noise |
16:18:16 | Araq | no, maybe we might even want to release 0.19.4 |
16:19:11 | Araq | and as I said [backport] is not all this tool needs to do, it should use the github API for "fixes #xyz" commits to see if #xyz doesn't touch the compiler or system.nim |
16:19:43 | narimiran | ok, will think about it after 0.19.2 is out :) |
16:19:57 | * | wildlander joined #nim |
16:30:45 | * | Ils quit (Ping timeout: 256 seconds) |
16:38:10 | * | seni joined #nim |
16:40:50 | * | theelous3 joined #nim |
16:47:30 | * | Ils joined #nim |
16:53:26 | * | deathpoison quit (Remote host closed the connection) |
17:06:22 | * | rockcavera quit (Remote host closed the connection) |
17:10:22 | narimiran | Araq: here you go, new branch (don't let the same name fool you), using -x, https://github.com/nim-lang/Nim/tree/version-0-19-2 |
17:12:55 | copygirl | Hey again! Trying my luck once more. |
17:12:58 | copygirl | https://gist.github.com/copygirl/60d5446bdcfe305d70a2c17a8c199790#file-either-nim-L128 |
17:13:43 | copygirl | I don't quote know why I can't compare these types. Both nodes are `Sym "string"` nodes. |
17:37:08 | Aareon_ | Making VSCode plugins is gross |
17:37:17 | Aareon_ | Wish it didnt have to be JS |
17:43:20 | narimiran | Aareon_: what are you making? something nim-related? |
17:43:41 | * | theelous3_ joined #nim |
17:43:48 | Aareon_ | Yea. Not a VSCode extension. It was just a thought |
17:44:10 | Aareon_ | I'm making https://github.com/Aareon/py-nim |
17:45:00 | narimiran | ambitious :) |
17:45:46 | Aareon_ | Quite lol |
17:47:23 | Aareon_ | Feel free to have a look, provide criticism, and/or suggestions |
17:47:52 | narimiran | i need some rest, but i'll try to take a look in the following days |
17:49:03 | Aareon_ | Sure thing. I'll be here |
17:52:19 | Summertime | if its okay for your project to have dependancies, there are some lexer frameworks for python which would probably help a lot |
18:06:55 | * | theelous3 quit (Ping timeout: 244 seconds) |
18:07:15 | * | theelous3_ quit (Ping timeout: 268 seconds) |
18:10:46 | * | Aareon_ quit (Ping timeout: 260 seconds) |
18:12:47 | * | Aareon joined #nim |
18:13:46 | * | dom96_w quit (Quit: My MacBook has gone to sleep. ZZZzzz…) |
18:14:03 | * | nsf joined #nim |
18:21:32 | * | Aareon_ joined #nim |
18:35:07 | * | theelous3 joined #nim |
19:17:54 | * | Aareon_ quit (Ping timeout: 264 seconds) |
19:18:42 | * | narimiran quit (Remote host closed the connection) |
19:23:53 | * | Aareon_ joined #nim |
19:28:46 | Aareon_ | Ive seen most of them and really want to avoid regex, which is what something like 90% of them rely on |
19:32:37 | Aareon_ | Plus, besides that, ive already got most of the lexer ported from Nim to Python. Ive got a couple functions left to impl, then I'll just be adding some stuff like msgs, options, hashes, and maybe one more |
19:42:17 | * | Ils quit (Ping timeout: 256 seconds) |
19:44:12 | Aareon_ | Is there any good documentation for `cast` besides "only use it if you know what you're doing" and "its unsafe"? |
19:45:41 | * | Aareon quit (Ping timeout: 256 seconds) |
19:52:55 | Aareon_ | I'm also having a hard time understanding why the lexer would opt to using `result.fNumber = (cast[ptr float32](addr(xi)))[]` |
19:54:37 | Aareon_ | Rather than `(cast[ref float32](addr(xi)))[]` |
19:56:56 | Aareon_ | Nix the `ref` in that last |
19:58:22 | * | theelous3 quit (Ping timeout: 246 seconds) |
19:58:36 | Aareon_ | If you dereference the value of result, id imagine its not unlikely that `result.fNumber` could end up pointing to an address that's no longer allocated to it. |
20:01:22 | Aareon_ | That cant be right |
20:05:58 | * | UNIcodeX__ quit (Quit: Leaving) |
20:19:42 | * | redlegion_ left #nim (#nim) |
20:20:54 | * | redlegion joined #nim |
20:22:53 | * | Trustable quit (Remote host closed the connection) |
20:34:01 | * | theelous3 joined #nim |
20:38:50 | * | aaltohenrik joined #nim |
20:53:12 | * | nsf quit (Quit: WeeChat 2.2) |
20:54:11 | * | druonysus joined #nim |
20:56:52 | Araq | ref would be wrong here |
20:57:06 | Araq | anyhow the point is to treat the bit pattern that we lexed as a floating point number |
20:57:16 | Araq | only some form of 'cast' can do that |
21:04:10 | Aareon_ | That makes sense. I guess ive just got to see what the bit pattern looks like to know how to treat it in Python |
21:06:46 | * | stefanos82 quit (Quit: Quitting for now...) |
21:08:42 | * | Ils joined #nim |
21:38:40 | * | zachk joined #nim |
21:38:48 | * | afa joined #nim |
21:48:54 | * | zachk quit (Changing host) |
21:48:54 | * | zachk joined #nim |
21:56:31 | c15ade4 | Hi there, is there a nim roadmap of what is currently being worked on? |
21:58:56 | * | narimiran joined #nim |
22:17:20 | * | wildlander quit (Quit: Konversation terminated!) |
22:17:54 | Araq | https://github.com/nim-lang/Nim/milestone/2 |
22:23:13 | * | afa quit (Ping timeout: 256 seconds) |
22:25:12 | * | narimiran quit (Ping timeout: 252 seconds) |
22:28:35 | FromDiscord_ | <Shield> is there a way to get detailed type memory layout at runtime? |
22:43:50 | FromDiscord_ | <Shield> through type description i mean |
22:58:34 | * | vlad1777d joined #nim |
23:14:24 | * | Snircle quit (Quit: Textual IRC Client: www.textualapp.com) |
23:20:39 | * | elrood quit (Remote host closed the connection) |
23:23:18 | * | Aareon_ quit (Ping timeout: 264 seconds) |
23:23:34 | * | Aareon joined #nim |
23:23:50 | * | Aareon_ joined #nim |
23:26:42 | * | [tty1] joined #nim |
23:32:29 | * | [tty1] quit (Quit: Mutter: www.mutterirc.com) |
23:49:45 | * | zachk quit (Quit: Leaving) |