<< 01-11-2018 >>

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:21Aareonmother of god https://github.com/Aareon/py-nim/blob/lexer-impl-patch-1/compiler/lexer.py
05:37:35Aareonthis is almost like doing chores.
05:38:09Aareonexcept 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:21Aareon1. there is 0 optimization, so it's like trying to read a coloring book
05:39:45Aareon2. there are no tests yet
05:40:32*rockcavera joined #nim
05:40:46Aareon3. it's not functional and won't be for what I feel like is going to be a VERY long time
05:42:09Aareonoh, 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:52Araqnarimiran: I think it's fair to say that the cherry-picking is the only feasible thing for 0.19.2
08:25:14narimiranok, let's cherry-pick and hope for the best
08:27:19Araqeven 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:43narimiranin 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:21narimiranAraq: 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:14Araqafter the tests the command is nim c -r nimdoc\tester
08:48:28Araqbut 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:58narimiranAraq: 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:19Araqthe commit contains what files have been touched
09:23:41Araqand the issues that are referenced have tags
09:23:51*deathpoison joined #nim
09:24:28AraqI know it's some work to extract that information but it's there and Nim's motto is "automate what you can"
09:24:35narimiranok
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:29Araqhow 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:06narimirani'll show you in a bit :)
09:58:55narimiran"This branch is 153 commits ahead, 266 commits behind nim-lang:devel." :)
09:58:58narimiranhttps://github.com/narimiran/Nim/tree/miran-version-0-19-2
09:59:27narimiranmy workflow was basically "if a commit touches compiler, don't pick it"
10:01:08narimiranAraq: ^
10:03:19*Ils joined #nim
10:05:45Araqok well?
10:08:12*theelous3 quit (Ping timeout: 252 seconds)
10:16:06*chemist69 quit (Ping timeout: 264 seconds)
10:17:42Araqit's green
10:17:56*chemist69 joined #nim
10:18:04*couven92 joined #nim
10:18:42narimiranok, should i merge it into araq-version-0-19-2? or just push it the wait it is to nim repo?
10:19:02narimirani think direct push might be better
10:19:19narimiran(so there'll be miran-version-0-19-2 in nim repo)
10:19:45Araqpush it into araq-version-0-19-2 or to version-019-2
10:19:51Araqpush it into araq-version-0-19-2 or to version-0-19-2
10:21:49narimiranhere it is: https://github.com/nim-lang/Nim/tree/version-0-19-2
10:22:21narimiranbut 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:36Araqhmm why did you pick " Quote do now works with result in block"?
10:35:47Araqor "make more tests green for C++; refs #7870" ?
10:36:10Araqor "Add parsing empty attribs to htmlparser"
10:36:11Araq:-)
10:37:10Araqor "fixes #7842 if no uri.scheme specified raise ValueError with hint (#7846)"
10:38:03stefanos82Araq: do we have any results towards tiny C REPL support so far?
10:38:19*ftsf quit (Ping timeout: 268 seconds)
10:39:48Araqwhat do you mean "results"?
10:40:26Araqwe'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:55narimiranAraq: 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:03stefanos82Araq: I thought you had already funded for further REPL improvement
11:08:10stefanos82I 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:05PMunchUgh, LSP sends the source file as UTF-8, which is great, because that's what nimsuggest expects.
11:27:36PMunchBut it sends positions as the number of UTF-16 code-units for some stupid reason
11:28:08krux02lol
11:28:23PMunchSo 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:51PMunchFor 99% of code it will probably be a 1:1 mapping though
11:29:06krux02no
11:29:17krux02comments are with äöü
11:29:19PMunchAll of ASCII takes one byte in UTF-8 and 1 code-unit in UTF-16
11:29:55PMunchStill though, it's probably not that much. So I should optimize for the scenario where there is no difference
11:30:04krux02comments and strings can be anything
11:30:14krux02yes
11:31:14krux02LSP 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:23krux02I think javascript as well
11:32:07PMunchYeah I know why, it's still dumb
11:32:23krux02yes it is
11:33:39PMunchMy 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:51Araqnimsuggest doesn't expect source files
11:43:57Araqit expects filenames
11:44:13Araqfiles need to be stored somewhere
11:44:24Araqtmp comes to mind, but it can be anything
11:44:55Araqit has the concept of "this file here over there is really this one instead" aka "dirty file"
11:45:55Araqand before you scream "inefficient" I benchmarked temporary file savings on my Windows machine with no SSD at 4000 saves per second
11:46:27Araqso it's a non-issue
11:57:13Araqnarimiran, well a couple of commits are not good, now what?
11:57:43narimiranAraq: we revert them
11:58:19Araqok, should I gist a list?
11:58:24narimiranbut i'm off to lunch. make a list of bad commits and i can revert them later (or you can do it)
11:58:36Araqok ty
11:58:38narimiranyep
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:22krux02Araq: when I am correct temporary source files that are overridden constantly will be in the cache
12:30:42krux02so it's not really written down to the HD so it can be fast
12:31:20krux02but 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:08PMunchAraq, yeah I know. That's not really a problem
13:03:41PMunchI 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:51PMunchSay 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:55Araqsure
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:20narimiranhmm, is gitter-irc bridge broken?
14:41:33narimiranyup, 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:26narimiranAraq: 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:50Araqwell I'm not ready, 400 lines to read
15:00:21narimiranok, no pressure :)
15:06:04*Aareon_ joined #nim
15:07:10Araqhttps://gist.github.com/Araq/43e399f22ad5b8742a6d5f62810806b6
15:07:52narimirangreat! i'll make rebase, so history will stay clean (with new SHAs)
15:08:20Araqthe only remaining problem is how to generate a changelog that reflects this
15:09:39Araqso 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:04narimiranit was clear. working on removing them
15:18:41*revere quit (Quit: quit)
15:19:20*revere joined #nim
15:19:55Araqoh and use the cherry picking that takes over the original commit checksum
15:20:24Araq-x switch
15:27:46*PMunch quit (Quit: Leaving)
15:30:13narimirantoo late for that?
15:31:12*Vladar quit (Remote host closed the connection)
15:32:41narimiranok, 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:09narimirani 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:14Araqyour choice
16:10:21narimiranwell, 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:52Araqshouldn't this be automated? how do you do it?
16:15:24narimirani'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:16Araqwell sorry but I think this -x switch is important enough
16:16:41Araqand I thought you wrote some cool "Nim release cherry picker" tool :-)
16:17:33narimiranhaha, i thought "this is one-time thing only, no need to build a tool" ;)
16:17:57narimiranbut if the future commits will have [backport] then yeah, the tool is way to go. this was too much noise
16:18:16Araqno, maybe we might even want to release 0.19.4
16:19:11Araqand 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:43narimiranok, 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:22narimiranAraq: 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:55copygirlHey again! Trying my luck once more.
17:12:58copygirlhttps://gist.github.com/copygirl/60d5446bdcfe305d70a2c17a8c199790#file-either-nim-L128
17:13:43copygirlI don't quote know why I can't compare these types. Both nodes are `Sym "string"` nodes.
17:37:08Aareon_Making VSCode plugins is gross
17:37:17Aareon_Wish it didnt have to be JS
17:43:20narimiranAareon_: what are you making? something nim-related?
17:43:41*theelous3_ joined #nim
17:43:48Aareon_Yea. Not a VSCode extension. It was just a thought
17:44:10Aareon_I'm making https://github.com/Aareon/py-nim
17:45:00narimiranambitious :)
17:45:46Aareon_Quite lol
17:47:23Aareon_Feel free to have a look, provide criticism, and/or suggestions
17:47:52narimirani need some rest, but i'll try to take a look in the following days
17:49:03Aareon_Sure thing. I'll be here
17:52:19Summertimeif 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:46Aareon_Ive seen most of them and really want to avoid regex, which is what something like 90% of them rely on
19:32:37Aareon_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:12Aareon_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:55Aareon_I'm also having a hard time understanding why the lexer would opt to using `result.fNumber = (cast[ptr float32](addr(xi)))[]`
19:54:37Aareon_Rather than `(cast[ref float32](addr(xi)))[]`
19:56:56Aareon_Nix the `ref` in that last
19:58:22*theelous3 quit (Ping timeout: 246 seconds)
19:58:36Aareon_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:22Aareon_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:52Araqref would be wrong here
20:57:06Araqanyhow the point is to treat the bit pattern that we lexed as a floating point number
20:57:16Araqonly some form of 'cast' can do that
21:04:10Aareon_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:31c15ade4Hi 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:54Araqhttps://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:35FromDiscord_<Shield> is there a way to get detailed type memory layout at runtime?
22:43:50FromDiscord_<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)