<< 07-06-2018 >>

00:40:27tersecWhat's the best way to trigger a nim CI testsuite run on GitHub without bothering people with a probably-not-ready PR or similar?
00:40:42*dddddd quit (Remote host closed the connection)
00:41:57FromGitter<data-man> close and reopen
00:44:04tersecof what, though? if I'm doing this in a cloned repo, nim-lang main repo won't even see it until/unless I do a PR, and closing/reopening the same PR doesn't seem to accomplish much unless the underlying CI has changed (not the assumption here)
00:49:58*NimBot joined #nim
00:51:18*dom96 joined #nim
00:51:18*dom96 quit (Changing host)
00:51:18*dom96 joined #nim
01:06:44FromGitter<data-man> @tersec Then you can configure the CI for your clone.
01:07:29tersecoh, I didn't realize that
01:07:39tersecsounds like the right approach
01:07:51FromGitter<data-man> After signing/registration, of course. :)
01:19:50*Electrux joined #nim
01:24:21*Electrux quit (Ping timeout: 265 seconds)
01:47:55*ftsf_ joined #nim
02:02:30*btbytes joined #nim
02:36:38FromGitter<gogolxdong> Is our forum built upon pure karax ?
02:56:18*btbytes quit (Quit: Textual IRC Client: www.textualapp.com)
03:00:04*gangstacat joined #nim
03:10:25*krux02 quit (Remote host closed the connection)
03:13:34*leorize joined #nim
03:15:05*Lord_Nightmare quit (Ping timeout: 240 seconds)
03:17:18FromGitter<gogolxdong> What does pragma {.nimcall.} mean?
03:21:32*Lord_Nightmare joined #nim
03:27:57*Electrux joined #nim
03:32:46*rauss quit (Read error: Connection reset by peer)
03:34:42*rauss joined #nim
03:36:35*Lord_Nightmare quit (Ping timeout: 240 seconds)
03:45:43FromGitter<kayabaNerve> Calls Nim, just like you should call your mother every weekend.
03:45:47FromGitter<kayabaNerve> From the docs: A subtle issue with procedural types is that the calling convention of the procedure influences the type compatibility: procedural types are only compatible if they have the same calling convention. As a special extension, a procedure of the calling convention nimcall can be passed to a parameter that expects a proc of the calling convention closure. ⏎ ⏎ Nim supports these calling conventions:
03:45:47FromGitter... ⏎ ⏎ nimcall ... [https://gitter.im/nim-lang/Nim?at=5b18aa6be26c847ac8c31933]
03:46:52FromGitter<kayabaNerve> Link: https://nim-lang.org/docs/manual.html#types-procedural-type
03:47:21FromGitter<gogolxdong> great, thanks
03:55:07*Lord_Nightmare joined #nim
03:56:14*Lord_Nightmare quit (Excess Flood)
03:59:31*leorize quit (Ping timeout: 256 seconds)
04:45:12*Lord_Nightmare joined #nim
04:49:46*Lord_Nightmare quit (Ping timeout: 265 seconds)
04:57:07*leorize joined #nim
05:03:39*miran joined #nim
05:41:30*nsf joined #nim
05:54:06*Vladar joined #nim
06:11:10*miran quit (Ping timeout: 260 seconds)
06:25:58*couven92 joined #nim
06:44:57*Lord_Nightmare joined #nim
07:02:51*leorize quit (Quit: WeeChat 2.1)
07:13:49*PMunch joined #nim
07:15:54PMunchSeems to be a lot of interest in NimLSP, gotten 5 stars on GitHub already with a mostly empty repo
07:19:29*jjido joined #nim
07:23:34PMunchThe more I look at this though the more I realise how flawed this protocol is..
07:32:04*Electrux quit (Quit: WeeChat 2.1)
07:36:33*jjido quit (Ping timeout: 248 seconds)
07:51:00*ftsf_ quit (Quit: Leaving)
07:55:15PMunchHuh, the Telegram channel has gotten surprisingly many users :P
07:55:22PMunchAnd fairly active ones at that :)
07:59:13*dddddd joined #nim
07:59:34*floppydh joined #nim
08:02:16PMunchHmm, what was that new fancy library for working with ASTs?
08:16:58PMunchAh found it, "ast_pattern_matching"
08:17:15PMunchWhy aren't imports underscore insensitive by the way?
08:17:24PMunchTried to import it as astpatternmatching and it failed
09:36:13FromGitter<notTito> @dom96 can you merge the website PR?
09:36:41dom96huh? I just did
09:36:42dom96https://nim-lang.org/blog/2018/06/07/create-a-simple-macro.html
09:38:01dom96notTito: do you have Twitter?
09:47:15dom96well, too late, I tweeted about your post :)
09:47:57FromGitter<navicstein_twitter> hi @dom96 could we discuss in private?
09:48:34dom96hrm, ok
09:54:22FromGitter<notTito> thanks, no i dont
09:55:46FromGitter<mratsim> @dom96 I think it would be nicer for the forum to keep the search bar/login button/header visible when you scroll down. When I read something want to comment/vote and forgot to login it forces me to go all the way up currently
09:56:05FromGitter<navicstein_twitter> yep
09:57:16FromGitter<data-man> Why "From the Nim *manual*." links to twitter?
09:57:18*endragor joined #nim
10:02:19FromGitter<navicstein_twitter> @data-man ???
10:07:45FromGitter<data-man> > Macros can be used to implement domain specific languages. ⏎ —From the Nim manual. ⏎ ⏎ "Manual" should be linked to the docs. [https://gitter.im/nim-lang/Nim?at=5b1903f152e35117cd14fbb9]
10:14:15*xkapastel quit (Quit: Connection closed for inactivity)
10:15:59FromGitter<navicstein_twitter> @data-man ok, `manual` comes with the "nim zip file", yeah exactly, it was hard to find :)
10:16:39dom96bad paste heh
10:16:44dom96Fixed
10:18:31FromGitter<data-man> Maybe to https://nim-lang.org/docs/manual.html#macros :)
10:18:39FromGitter<data-man> ?
10:23:46*couven92 quit (Quit: Client disconnecting)
10:27:22*arecaceae quit (Read error: Connection reset by peer)
10:27:46*arecaceae joined #nim
10:35:03*SenasOzys quit (Ping timeout: 256 seconds)
10:37:47*mgdelacroix[m] quit (Quit: removing from IRC because user idle on matrix for 30+ days)
10:39:59*amp907[m] quit (Quit: removing from IRC because user idle on matrix for 30+ days)
10:40:34*krux02 joined #nim
10:45:39*metaden92[m] quit (Quit: removing from IRC because user idle on matrix for 30+ days)
10:47:59*stisa quit (Quit: removing from IRC because user idle on matrix for 30+ days)
10:48:13*sz0 joined #nim
10:52:22*noonien joined #nim
10:59:38*SenasOzys joined #nim
11:02:36krux02I have done it, MacOS is now deprecated.
11:05:05Yardanicokrux02 :D
11:07:16krux02everybody is free to install a version Linux on their Apple sheet metal.
11:07:45Yardanicokrux02 i'm the opposite - I have macOS on a normal PC :)
11:08:14FromGitter<Vindaar> Yardanico: why would you do that? :O
11:08:33YardanicoBecause it's like Linux but with more apps :D
11:09:01FromGitter<Vindaar> it's only Linux if you take a very distorted look at it :P
11:13:00PMunchIsn't it more like BSD?
11:13:42Yardanicowell, I mean by terminal usage
11:24:50dom96You're looking for the word "Unix" :P
11:25:40krux02Yardanico: you don't have the problem that bacially every open thing is gradually replaced by proprietary systems?
11:26:17Yardanicowell, I also have Arch Linux installed on my PC and I can easily switch to it :)
11:27:30krux02well how easily, is "easily".
11:27:42krux02you still have to restart and quit every mac application
11:30:01FromGitter<Vindaar> @krux02 I ran the issue (generic macro thing) you created through koch temp yesterday. In https://github.com/nim-lang/Nim/blob/devel/compiler/vmgen.nim#L1758 the VM error is raised since it doesn't know how to deal with `nkTupleTy`
11:30:34FromGitter<Vindaar> I wonder whether the issue is that `gen` should never get a `PNode` of `nkTupleTy` or rather that one needs to implement something to handle that?
11:35:21FromGitter<mratsim> by the way @Vindaar how did it go with your student for neural networks in Nim?
11:37:27YardanicoBtw, if you didn't know - you can use spoilers on GitHub: https://github.com/nim-lang/Nim/issues/7985#issuecomment-395389274
11:37:50Yardanicohttps://github.com/dear-github/dear-github/issues/166#issuecomment-236342209
11:38:51krux02how do you create those spoilers?
11:40:23Yardanicokrux02 second link
11:41:06Yardanicobut yeah, it's probably a hack
11:41:16Yardanicobut no other way exists currently (and this hack is at least 2 years old and still works)
11:41:35YardanicoAnd yeah, for ``` sections: https://github.com/dear-github/dear-github/issues/166#issuecomment-322367328
11:43:03FromGitter<mratsim> I would like to have this … 3 years nothing done: https://github.com/github/task_list/issues/42
11:43:37FromGitter<mratsim> You have to use super ugly html hack to get that working (so that the markdown parser thinks it’s not in a table)
11:44:43krux02Yardanico, thanks, but I think I won't use it. It's html tags, and feels a bit alien in a markdown file.
11:46:17krux02mratsim: you can use org files on github as well
11:46:22krux02so maybe that is what you want
11:47:58FromGitter<mratsim> ugh, emacs >_>
12:01:31FromGitter<Vindaar> @mratsim It went really well! They liked my talk and the short demo. Most were really interested and asked some good questions. :) And some were actually curious about Nim, hehe. ⏎ The talk (and demo) is in the GitHub repo https://github.com/Vindaar/NeuralNetworkLiveDemo
12:15:03YardanicoI feel like a lot of async-related compile-time crashes can be closed now (after yield in try) :)
12:16:42krux02mratsim: yea I know emacs is meh. But people try to get org-mode working in other editors as well.
12:21:11*keyle joined #nim
12:22:08FromGitter<mratsim> I never tried emacs but it’s yet another thing to learn while I will use something like 0.01% of its features
12:24:56*keyle quit (Client Quit)
12:25:08FromGitter<Vindaar> imo emacs is only great, if you embrace it (I love it). If not, it's... well...
12:27:32FromGitter<mratsim> by the way I added image loading to Arraymancer yesterday
12:27:48FromGitter<mratsim> and writing
12:28:41FromGitter<zetashift> Is there a proc in the random module that can let me generate a random number between a min value and a max value? All are ints but I need to start lower than 0
12:28:55Yardanicoyou can use a simple trick
12:29:03FromGitter<mratsim> rand([-10..-1])
12:29:15FromGitter<mratsim> the procs support slices
12:29:31Yardanico!eval import random; echo(rand(53)+15). # will print values from 15 to (53+15=68)
12:29:32NimBotCompile failed: in.nim(1, 76) Error: invalid indentation
12:29:37Yardanico!eval import random; echo(rand(53)+15) # will print values from 15 to (53+15=68)
12:29:39NimBot56
12:30:01FromGitter<zetashift> yea I saw the HSlice proc but I thought ranges differ from slices for some reason
12:30:04FromGitter<mratsim> !eval import random; echo(rand([-10 .. -1]))
12:30:07NimBot(a: -10, b: -1)
12:30:09*Electrux joined #nim
12:30:22FromGitter<zetashift> still a nice trick of yardanico ;P
12:30:43FromGitter<mratsim> !eval import random; echo(rand(-10 .. -1))
12:30:46NimBot-3
12:30:51FromGitter<mratsim> ^
12:31:23FromGitter<mratsim> so without bracket
12:32:21Yardanico!eval import rand; echo(rand(-500000...50000))
12:32:22NimBotCompile failed: in.nim(1, 8) Error: cannot open 'rand'
12:32:28Yardanico!eval import random; echo(rand(-500000...50000))
12:32:29NimBotCompile failed: in.nim(1, 33) Error: undeclared identifier: '...'
12:32:34Yardanico!eval import random; echo(rand(-500000..50000))
12:32:36NimBot-197588
12:32:49FromGitter<zetashift> yep I worked it out no red squiggly line anymore ;P
12:33:00Yardanicoand yeah, don't forget to call randomize() :)
12:33:09FromGitter<zetashift> yep!
12:38:02FromGitter<Vindaar> @mratsim nice, good to have image loading! would allow for some more fun demos, hehe. let students write digit, take picture, load into arraymancer, classify :D
12:39:44FromGitter<mratsim> I plan to add video loading at one point
12:40:24FromGitter<mratsim> Goal is to be able to do real time object detection: https://www.youtube.com/watch?v=VOC3huqHrss
12:43:20FromGitter<dom96> The forum supports spoilers too. :)
12:49:48FromGitter<Vindaar> That'd be sweet!
12:51:51*sz0 quit (Quit: Connection closed for inactivity)
12:53:37krux02Vindaar: I think emacs is flawed like modern engines. It tries to integrate too many things.
12:54:16krux02And worst of all is that is does not use standard keyboard commands fur cut copy paste save
12:56:47FromGitter<mratsim> Vim and MacOS are also guilty of that to be fair
13:00:40FromGitter<kaushalmodi> Hello all
13:01:00FromGitter<kaushalmodi> Pleasantly surprised to see emacs talk going on here :D
13:01:10FromGitter<kaushalmodi> One more Emacs fan here :)
13:01:14FromGitter<Vindaar> @krux02 that's what I'm saying. If one complains about non standard keyboard shortcuts, than well. It's quick to change that, but there's a reason theyre different
13:01:44FromGitter<Vindaar> But agreed, it's the opposite of the Linux philosophy of "one tool for one job"
13:02:28FromGitter<kaushalmodi> I also weigh "works awesome" over Unix philosophy
13:03:30FromGitter<kaushalmodi> My nim notes just cross 5k lines in Org mode.. I don't think any philosophy can beat maintaining such notes easily.
13:03:58FromGitter<kaushalmodi> One key binding all Nim code blocks reevaluate with the latest nim build.. simple git diff shows me all the regressions/fixes if any
13:07:02FromGitter<Vindaar> @kaushalmodi hehe, saw your emacs.d repository. That's one hell of a repo! And I love the style you use for your posts on your webpage!
13:10:06*find0x90 joined #nim
13:11:53FromGitter<kaushalmodi> @Vindaar Thanks :). You might already know but my web site content source is all Org.
13:13:20FromGitter<kaushalmodi> @krux02 The Emacs commands, terminology, key bindings all were born before the so called newer "standard" keyboard commands :)
13:14:00*nsf quit (Quit: WeeChat 2.1)
13:14:59FromGitter<kaushalmodi> @mratsim Thanks for the tip on `rand(LOWER .. UPPER)`.
13:15:59krux02kaushalmodi: I know that they are older. But they are the reason that emacs community is gradually shrinking and projects like vscode (basically exactly the same thing) arise
13:17:37floppydhemacs is much better software then vscode tho :/
13:17:57krux02and I would like to say that emacs keybindis are almost all by default just bad. Every binding that I actually use I have remapped and the rest I just ignore
13:18:00FromGitter<kaushalmodi> I am active in emacs mailing lists, reddit forum and from my first-hand experience the emacs community is anything but shrinking. It's meant for a niche community who love tweaking their environment.
13:18:17FromGitter<Vindaar> @kaushalmodi Yep, I know. :)
13:18:20floppydhye I'm not sure vscode is stealing a lot from emacs people
13:18:29floppydhthey might be a gateway IDE :)
13:18:59FromGitter<kaushalmodi> *How do I address IRC folks on gitter?*
13:19:02krux02vscode is not stealing emacs users, it is grabbing away new users before they even get to try emacs
13:19:18krux02just the name:
13:19:25Yardanicoyes, like me
13:19:42YardanicoI didn't ever try to use any command-line editors as my main editor
13:19:51Yardanicothey all always were GUI
13:19:57FromGitter<kaushalmodi> @krux02 I have seen a lot of people come *to* emacs from other editors. I think whoever *sees the light* are there to stay with emacs.
13:20:15krux02emacs is not command line. And vim I also always used as gvim
13:20:22floppydhit's a very dimm light tho
13:20:24*find0x90 quit (Ping timeout: 256 seconds)
13:20:31floppydhgvim? - blasphemy
13:20:41krux02it's just vim
13:21:01floppydhsucks to be started from a terminal tho
13:21:02PMunchBurn the heretic!
13:21:18floppydhcould also blame i3 for that, but I rather blame gvim
13:21:36PMunchHuh, blame i3 for what?
13:21:38FromGitter<kaushalmodi> @krux02 emacs is both command line and GUI.. you pick the mode you prefer
13:22:17Yardanicoand I also tried i3, but.. I can't get used to it after years with normal window control
13:22:36floppydhPMunch: if I tab my container and start form my terminal-emulator then open a file with gvim, gvim starts in _another_ window ofc, now I have my TE who just hangs and then gvim, I'd rather want my TE to be "in the bg" and hide, then gvim replaces my TE window, when gvim quots my TE restores
13:23:30floppydhor more like: opening multiple instances of gvim from a terminal-emulator leaves an unnecessary terminal-emulator window
13:23:52floppydhsomething like that, words are not my thing
13:24:05krux02floppydh, isn't that an i3 issue?
13:24:15floppydhkrux02: that's what I said, you can see it from multiple perspectives
13:24:27floppydhits solved if you just don't gvim
13:26:23PMunchAh right, yeah that's a dual issue :P
13:26:36PMunchYou're using a graphical program as if it was a terminal application
13:26:38floppydhYardanico: it's not like i3 is perfect, but I miss i3 whenever I have to use something else, it's the best there is
13:26:39krux02well then there is neovim if you want to use vim and want to be hip
13:26:43floppydhPMunch: yeah
13:26:47PMunchPEBKAC
13:27:09floppydhkrux02: more like, if you want to use vim in a terminal in a sane way
13:27:19krux02I know someone who now switched from i3 to xmonad
13:27:28krux02but you should like haskell if you do so
13:27:31floppydhkrux02: sounds like a hipster
13:27:42PMunchkrux02, the same issue exists in all window managers. Regular once just "help" by hiding the terminal window behind gvim
13:27:53PMunchs/once/ones
13:28:23floppydhPMunch: yeah, would love something like that for i3, but wouldn't even know how to implement it?
13:28:26PMunchWe should create our own window manager in Nim :)
13:28:32PMunchI actually started looking into it
13:28:46krux02I wonder if I can customize hexchat to show the username of "FromGitter" on the left side, wher usernames are usually shown
13:29:03floppydhPMunch: via _NET_WM_PID xprop?
13:29:06PMunchfloppydh, uhm it goes against the entire concept of i3. But you could easily do it with a little bash magic I guess
13:29:07floppydhthink you need to rely on that
13:29:29floppydhdon't think its easy in any way
13:29:32PMunchkrux02, let me know if you figure that out :)
13:29:37PMunchMight be possible with a plugin..
13:29:38floppydhit involves X11, how easy can it be?
13:30:10krux02something like sed "s/<FromGitter><\([[:alnum:]]*\)>/\1/"
13:31:16PMunchWell you can hide a window with "xdotool unmap `xdotool getactivewindow`"
13:31:51floppydhso
13:32:28PMunchSo you can create an alias for gvim "alias gvim = xdotool unmap `xdotool getactivewindow` && gvim"
13:32:35floppydhunsure if hiding windows will get you there if you use i3-marks etc. you need to actually do it inside of i3s window containers
13:32:42PMunchNow getting the window back after you close might be a bit harder :P
13:33:05floppydhno xdotool getactivewindow will give you windowid for sure or so
13:33:09floppydhbut it's much dirtier
13:33:28floppydhyou need to do it in i3 to be more then a dirty hack that breaks easily
13:33:35floppydhso you need to read xcb
13:34:22floppydhprobably, registering openwindow events or somesuch and then use xprop to check for _NET_WM_PID to be the PID that your program execvs via param or somesuch
13:34:43floppydhI'm getting PTSD
13:35:38PMunchOLDTERM=`xdotool getactivewindow` && xdotool windowunmap $OLDTERM && gvim && xdotool windowmap $OLDTERM
13:35:55PMunchThat hides the terminal for the duration of gvim being open
13:36:10floppydhI mean I love how there isn't even something in X11 that links a window to a PID, instead well-behaving applications rather set an xproperty themselves, if they feel like it, to express what PID actually owns that window
13:36:16floppydhPMunch: but then you move gvim to another container
13:36:19PMunchJust tested it on i3 with galculator instead of gvim
13:36:31PMunchfloppydh, yeah that's true
13:37:04floppydhI mean sure xdotool is cool and all and its really handy for a lot of things, but this needs to be an internal i3 feature to work properly
13:37:41PMunchWell, you could probably do it with the i3-ipc
13:38:07floppydhdon't think so
13:38:21PMunchI guess you could float gvim and place it over the i3 window
13:38:41PMunchIt won't play well with tiling and such, but for a quick edit it should be fine :P
13:40:08floppydhyet tiling is the main thing i3 does :P
13:40:18floppydhI'd rather just not use gvim :P
13:40:33PMunchYeah, I agree that it should have a friendlier interface for this sort of shenanigans
13:40:53floppydhoh, no that's a core feature and it belongs in i3, i3's code is pretty readable for C if you ask me
13:41:07PMunchWell that is obviously the best solution. I use terminal Vim at work all day without any trouble :)
13:41:13floppydhhowever, should we put it in i3 or sway? - because wayland is around the corner, supposedly, for years now
13:41:18floppydhPMunch: same :)
13:41:44floppydhhttps://github.com/swaywm/sway more reimplementations - yay
13:41:50PMunchWayland has been right around the corner for so long I won't write any code for it until it's installed on my computer..
13:41:59floppydhyeah that sounds reasonable :D
13:43:11PMunchI think Nim would actually make for a good language to implement a WM in
13:43:19PMunchNice integration with C, but easier to work with
13:44:05Yardanicodon't forget that almost 50% of all Linux users have nvidia gpus, and almost no DE with wayland supports it
13:44:17Yardanicoexcept GNOME :)
13:44:24Yardanico(but it's buggy too)
13:44:37floppydhYardanico: https://drewdevault.com/2017/10/26/Fuck-you-nvidia.html
13:44:47YardanicoI know about this and I saw this article
13:45:28floppydhyeah, give it 10 years or so, then we can probably use it
13:46:27floppydhPMunch: I used to try to wrap some XCB stuff but I gave up, wrapping xcb and all is extensions is wrapping like 80k line header files that c2nim just _cant_ translate
13:47:02floppydhthere's some libx11 wrapper out there, I know
13:47:27Yardanicoand yeah, the thing is - AMD wasn't very competitive with nvidia in the past years
13:47:33PMunchYeah I've used that with great success
13:47:33Yardanicothat's why a lot of people have nvidia gpu's
13:47:34FromGitter<kaushalmodi> Has anyone successfully converted the Nim docs to Info manuals or man pages?
13:47:55floppydhYardanico: true
13:48:19Yardanicoit's very sad (because I have an nvidia gpu myself)
13:49:08PMunchkaushalmodi, not sure. Would be very nice to have though
13:49:24PMunchMaybe if nim could just output RST it should be simple
13:49:28Yardanicoand it's a GTX 750, BUT with GM206 chipset, that's why I can't use nouveau with full performance :/
13:50:12floppydhYardanico: :) I don't need much from a GPU on linux because I dont use 3d stuff in it really
13:52:06Yardanicowell, I don't feel like booting to Windows to play games is good, also because there's DXVK which already allows to run a lot of big games on Linux
14:06:46krux02well I use Linux everyday to develop my OpenGL microframework
14:07:47krux02I will call it module, I just don't like the term framework, even though I want to embed all the benefits of a framework
14:10:04floppydhYardanico: I play too much and Linux supports too little, also performance still isn't on par by quite a margin and worst of all, mouse drivers/mouse support/mouse settings are almost unusable
14:10:19floppydhlike try to disable mouse acceleration in X11
14:10:36floppydhit's not even funny
14:11:36floppydhhttp://ix.io/1cBJ think this is the end-result of my attempt and I don't even think it's working properly
14:12:28FromGitter<mratsim> On the other side of the coin, Windows data scientists struggle to get started with GPU computing because of Windows drivers/Cuda is a pain.
14:13:15krux02mratsim: I am writing something awesome for them :P
14:13:23FromGitter<mratsim> (though updating nvidia drivers on Linux is also full of breakage)
14:13:42krux02mratsim: yes
14:14:55krux02on arch when you update nvidia drives it might happen that your gpu will become a legacy GPU. Then you have to manually install the legacy driver for the right version.
14:15:11krux02it is basically a good system they can's support all hardware forever
14:15:38krux02but they shouldn't upgrade the installed driver automatically to one that breaks the current GPU support
14:26:29FromGitter<kaushalmodi> I cannot figure out the syntax for `incl` for critbits.
14:26:57FromGitter<kaushalmodi> I tried ⏎ ⏎ ```code paste, see link``` [https://gitter.im/nim-lang/Nim?at=5b1940b122a05f5e710b1ca6]
14:27:41FromGitter<kaushalmodi> But the docs say that the first parameter of `incl` should be `CritBitTree[void]`.. what does that mean? https://nim-lang.org/docs/critbits.html#incl,CritBitTree[void],string
14:28:39FromGitter<kaushalmodi> I am trying to figure out if eventually I can do the same as `t["a"] = 1` using the `incl` proc
14:29:00FromGitter<kaushalmodi> If not, what is `incl` used for?
14:31:02FromGitter<aboisvert> `incl` adds the key without any value
14:31:26FromGitter<kaushalmodi> but the above snippet does not work
14:32:28FromGitter<kaushalmodi> Returns ⏎ ⏎ ```code paste, see link``` [https://gitter.im/nim-lang/Nim?at=5b1941fbdb98e07a9a7adef3]
14:32:29FromGitter<aboisvert> right ... because the types don't line up ... `incl` is meant to use CritBitTree as a set (instead of as key-value associations)
14:33:11FromGitter<kaushalmodi> ah.. so it's used to "merge" multiple CBT's
14:33:12FromGitter<kaushalmodi> ?
14:33:58FromGitter<aboisvert> are you sure you don't want to use either `inc` (increment) or `[]=` (to set the value)
14:34:55FromGitter<kaushalmodi> I am just trying to document for myself when and how to use `incl`.
14:35:17FromGitter<kaushalmodi> The docs just say "includes key in c." for `incl`.. but I still cannot figure out how to use it.
14:35:37FromGitter<kaushalmodi> Can you give an example to use it with the above declaration of `t` CBT in my example snippet?
14:35:43FromGitter<aboisvert> `incl` is meant only for the case where the CritBitTree only has keys (when used as a set, not as associative map)
14:36:13FromGitter<kaushalmodi> oh.. that's what `CritBitTree[void]` means..
14:36:17FromGitter<kaushalmodi> .. back to trying that out
14:43:12*sg-james[m] joined #nim
14:46:21FromGitter<kaushalmodi> hmm, this doesn't work either: ⏎ ⏎ ```import critbits ⏎ var s: CritBitTree[void] ⏎ incl(s, "a") ⏎ echo s``` [https://gitter.im/nim-lang/Nim?at=5b19453da45f930a650ba2d5]
14:46:36FromGitter<kaushalmodi> ```code paste, see link``` [https://gitter.im/nim-lang/Nim?at=5b19454c35e25f3997582f1a]
14:50:27FromGitter<kaushalmodi> looks like `$` is not implemented for `CritBitTree[void]`?
14:50:50FromGitter<kaushalmodi> because this works: ⏎ ⏎ ```import critbits ⏎ var s: CritBitTree[void] ⏎ incl(s, "a") ⏎ incl(s, "b") ⏎ echo s.len``` [https://gitter.im/nim-lang/Nim?at=5b19464999fa7f4c0651f747]
14:52:51*miran joined #nim
14:56:37FromGitter<Varriount> @kaushalmodi You can use repr to get a strong representation of most data structures
14:58:10FromGitter<kaushalmodi> I rely on `strformat/fmt` for pretty debug messages, which replies on `echo`
14:58:50FromGitter<Varriount> Yes.
14:59:14FromGitter<Varriount> However you can use expressions in the format patterns
14:59:42FromGitter<kaushalmodi> I understand.. but this looks like a bug as this also fails: ⏎ ⏎ ```import critbits ⏎ var s: CritBitTree[void] ⏎ echo s``` [https://gitter.im/nim-lang/Nim?at=5b19485e52e35117cd1620e0]
15:00:44*xkapastel joined #nim
15:00:58FromGitter<Varriount> Well, if $ isn't implemented for the type, that won't work.
15:01:13FromGitter<kaushalmodi> It is.. but the `val` leaks in unintentionally
15:01:27FromGitter<kaushalmodi> `````` [https://gitter.im/nim-lang/Nim?at=5b1948c7db98e07a9a7b0065]
15:01:58FromGitter<kaushalmodi> I thought that the empty CBT would work because of the `if c.len == 0` case.. but that fails too
15:02:28FromGitter<kaushalmodi> We can continue the discussion at https://github.com/nim-lang/Nim/issues/7987
15:03:21FromGitter<kaushalmodi> so the root cause is that `pairs` is not implemented for `void` CBT?
15:04:27FromGitter<data-man> Yes, incl for CritBitTree[T] is missed. ⏎ Added: https://github.com/nim-lang/Nim/pull/7988 😄
15:17:45xomachine[m]are the docker images at https://hub.docker.com/r/nimlang/nim/ still supported? I've tried to use it for CI, but got a strange error related to libcrypto when called `nimble` inside the container.
15:32:22*floppydh quit (Quit: WeeChat 2.1)
15:33:54*PMunch quit (Quit: Leaving)
15:37:08*endragor_ joined #nim
15:39:49euantorxomachine[m]: I believe they are, I use them for CI myself
15:39:53euantorWhat's the error you get?
15:40:37*endragor quit (Ping timeout: 245 seconds)
15:40:39*brainproxy joined #nim
15:41:20*nsf joined #nim
15:46:11FromGitter<dom96> https://news.ycombinator.com/item?id=17256394
15:53:56*xomachine[m] sent a long message: xomachine[m]_2018-06-07_15:53:55.txt <https://matrix.org/_matrix/media/v1/download/matrix.org/ttulYwBQzxvQWbgvkrZjEDxa>
15:56:23*Vladar quit (Quit: Leaving)
16:01:34*endragor_ quit (Ping timeout: 264 seconds)
16:01:54*Vladar joined #nim
16:02:56federico3oh $deity the comments...
16:05:02*endragor joined #nim
16:07:00*endragor_ joined #nim
16:10:47*endragor quit (Ping timeout: 265 seconds)
16:14:26Araqwhy? they are quite positive, no?
16:15:23*Trustable joined #nim
16:18:25*find0x90 joined #nim
16:20:04*endragor joined #nim
16:23:29*endragor_ quit (Ping timeout: 248 seconds)
16:25:46*ftsf quit (Ping timeout: 265 seconds)
16:40:19krux02Araq: what are you currently working on?
16:40:52*riidom joined #nim
16:42:21*icebattl1 quit (Quit: leaving)
16:43:35*JacobEdelman quit (Quit: Ping timeout (120 seconds))
16:43:55*JacobEdelman joined #nim
16:45:44*endragor quit (Remote host closed the connection)
16:45:54*find0x90 quit (Quit: find0x90)
16:46:17*endragor joined #nim
16:47:03*endragor quit (Remote host closed the connection)
16:48:28*endragor joined #nim
16:50:50nc-x[m]Incremental Compilation/Symbol files v2 AFAIK
16:51:17nc-x[m]https://github.com/nim-lang/Nim/tree/araq-incremental-compilation?files=1
16:56:51FromGitter<mratsim> @krux02 on Arch this is my pacman setup for my container with GPU passthrough `IgnorePkg = nvidia-utils nvidia-settings opencl-nvidia xorg-server nvidia-libgl libglvnd mesa xorg-server-common cuda cudnn systemd libsystemd cryptsetup`
16:58:21krux02mratsim: don't you want upgrades?
16:58:37FromGitter<mratsim> I want my system to work.
16:58:52krux02just before my GPU got deprecated, it got OpenGL 4.6 support, su I guess updates aren't that bad
16:59:00FromGitter<mratsim> system 238 is broken in containers, and bug is “closed wont fix” on systemd repo ...
16:59:28FromGitter<mratsim> and I have to keep Arch in sync with the Debian host driver version
16:59:29krux02what is system 238
16:59:48FromGitter<mratsim> the version
16:59:55*CodeVance_ joined #nim
17:00:47FromGitter<mratsim> currently my nvidia driver is 396.24, but everytime I want to update I have to build from source on Debian first. so I don’t want Arch to update automatically
17:00:52*CodeVance_ quit (Client Quit)
17:01:47krux02what do you mean with build from source?
17:01:53krux02isn't the driver closed source
17:03:13*SenasOzys quit (Ping timeout: 256 seconds)
17:04:01FromGitter<mratsim> Debian is about one year behind in terms of version (as usual ;) ), so i mean, build the current one and package it and deploy it.
17:04:33FromGitter<mratsim> @dom96 even though the HN news is about Zig, I see more Rust than Zig in there >_>
17:04:43krux02btw I also develop on Debian, It is just that I have Arch at home
17:04:56krux02I am at university and this computer is Debian
17:05:23krux02I have a problem, I don't understand Hacker News.
17:05:41krux02Every time I go to that website I am completely underwelmed and want to leave again
17:06:08krux02I thought that there is a collection of news, like a news site and some comments on the news
17:06:33krux02but the articles are just one liners and then there is a gigantic tree of weird comment structure under it
17:10:25dom96mratsim: really? I'm yet to see any mention of Rust
17:11:23FromGitter<mratsim> Removing a “frustrated” I count 26 Rust on the page
17:12:55*SenasOzys joined #nim
17:19:50dom96And 1 Nim, fun
17:30:21Araqkrux02, always working on the hard things. incremental compilation and destructors
17:30:45Araqincremental compilation now works for a toy and I've designed an API you need to try
17:30:51Araqdetails are coming...
17:30:54FromGitter<mratsim> and forLoop macros?
17:31:06Araqaren't they a solved problem?
17:31:08Araq:P
17:31:25FromGitter<mratsim> oh?
17:32:14Araqwell what's left to do for them?
17:36:57*Trustable quit (Remote host closed the connection)
17:37:51FromGitter<zetashift> awww yiisss just finished following http://docs.godotengine.org/en/3.0/getting_started/step_by_step/your_first_game.html in nim
17:39:24FromGitter<zetashift> Went well except I have this to-do on figuring out how `yield` in gdscript works best in nim, currently I just sleepAsync but that ain't right
17:39:52*endragor quit (Remote host closed the connection)
17:45:12*krux02 quit (Quit: Leaving)
17:48:45miran@zetashift: nice! when can we see the result and code (and blogpost)? :)
17:52:28mirandom96: have you seen this? https://www.reddit.com/r/nim/comments/8owh2p/deleting_a_different_project_broke_nimble_install/
17:54:44dom96nope
17:59:07*nsf quit (Quit: WeeChat 2.1)
18:00:13FromGitter<zetashift> I'll start on the blogpost tonight/tomorrow
18:00:17*arecaceae quit (Remote host closed the connection)
18:00:29FromGitter<zetashift> I could upload the code of both small projects now I guess
18:00:41*arecaceae joined #nim
18:04:31*krux02 joined #nim
18:18:00*SenasOzys quit (Ping timeout: 260 seconds)
18:23:28*Trustable joined #nim
18:28:57*SenasOzys joined #nim
18:37:45*xet7 quit (Remote host closed the connection)
18:39:28*xet7 joined #nim
18:41:46*Electrux quit (Ping timeout: 264 seconds)
18:54:51*mr_yogurt quit (Ping timeout: 256 seconds)
18:57:13*mr_yogurt joined #nim
19:33:13*skrylar joined #nim
19:37:15*leaf__ joined #nim
19:37:39*leaf__ is now known as Guest79014
19:38:36Guest79014Hello, I'd like some tips about unrolling a loop and decorating individual statements at compile time
19:39:56shashlickdom96: I'm looking at downloading the same 7z mingw in choosenim
19:40:11shashlickAnd add support for 64 bit as well
19:41:03shashlickWhat do you recommend - replace untar with my libarchive wrapper or just add the 7z wrapper I'm working on
19:46:25shashlickLibarchive is bsd and 7z is lgpl, both get compiled into the executable, not sure how that affects us though
19:50:49*Vladar quit (Quit: Leaving)
19:59:10federico3shashlick: no impact, it's compiled
20:04:09*leorize1 joined #nim
20:10:26*Trustable quit (Remote host closed the connection)
20:11:45*noonien quit (Quit: Connection closed for inactivity)
20:17:52*Guest79014 quit (Quit: Page closed)
20:28:38*PMunch joined #nim
20:33:30Yardanicowow https://github.com/nim-lang/packages/pull/760 :)
20:33:38Yardanicomoved package to gitlab from github :D
20:33:42Yardanico(not me)
20:34:53dom96shashlick: I would personally prefer libarchive
20:41:40Yardanicowoah :) https://github.com/nim-lang/Nim/commit/8ba7e7d807c37a0988abd69ef9824b4822fe04f3
20:42:05*miran quit (Ping timeout: 260 seconds)
20:48:07shashlickdom96: so you okay moving away from untar
20:48:54dom96shashlick: As long as static compilation is easy
20:49:35shashlickYa it's smooth, but nimgen based so need nimble support
20:50:06shashlickOf course, choosenim is compiled and posted online so shouldn't be urgent
20:51:33dom96Hrm
20:51:43dom96What advantage does using libarchive give us btw?
20:51:55dom96because if there is no benefit then we shouldn't fix what isn't broken
20:55:49*leorize1 quit (Quit: WeeChat 2.1)
20:57:28FromGitter<kayabaNerve> Holy hell
20:57:40FromGitter<kayabaNerve> I just want to say Nim i sgreat
20:57:48FromGitter<kayabaNerve> *is
21:10:23*nsf joined #nim
21:10:52shashlickdom96: well, like I said, I want to have choosenim support installing both 32 and 64-bit mingw per user choice
21:11:06shashlickand use the same .7z files posted online that finish uses
21:11:25dom96does libarchive support 7z?
21:11:36shashlicktoday choosenim doesn't extract .7z, libarchive does so we can use that to extract tar.gz, xz and 7z all in one package
21:11:39shashlickyes
21:11:47shashlickand a variety of other formats
21:13:38shashlickhttps://github.com/genotrance/nimarchive <= nimgen wrapper that supports Windows and Linux, I need to get it working on Mac
21:13:54shashlicki also want to add a simple API similar to what you have in untar
21:14:21shashlickonce that's all done, i can pull it into choosenim
21:31:37dom96okay cool
21:32:08dom96Maybe you could set up appveyor too? It'd be nice if I didn't have to boot up a Windows XP VM every time I'm releasing a new choosenim :)
21:36:18*nsf quit (Quit: WeeChat 2.1)
21:47:47*jjido joined #nim
21:49:05FromGitter<ZarsBranchkin> Guest79014: Gave loop unrolling a try. Probably wiser would be passing the range as argument to macro, instead of fetching it from the loop https://gist.github.com/ZarsBranchkin/79facf7c8d04219543b296edbf2a819c
21:49:37FromGitter<ZarsBranchkin> Also, not sure what "guest" means here, might be gone already and unmentionable
22:03:05*xet7 quit (Ping timeout: 240 seconds)
22:03:47shashlickDo you mean for test or release build or both
22:05:56PMunchJust added a JSON schema validation DSL to nimlsp: https://github.com/PMunch/nimlsp/blob/master/src/nimlsppkg/jsonschema.nim#L185
22:06:14PMunchShould make things a bit easier, but maybe it should've been split into it's own module
22:16:06*xet7 joined #nim
22:16:24dom96https://twitter.com/nim_lang/status/1004849245965504513 :D
22:16:32dom96shashlick: both
22:17:14dom96hrm
22:17:16dom96deleting that tweet
22:17:57dom96Forgot to include a screenshot https://twitter.com/nim_lang/status/1004849910699712513 :)
22:26:59*jjido quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
22:27:49*find0x90 joined #nim
22:36:12*arecaceae quit (Remote host closed the connection)
22:36:35*arecaceae joined #nim
22:37:07*PMunch quit (Quit: leaving)
22:44:19*find0x90 quit (Quit: find0x90)
22:54:00*xet7 quit (Remote host closed the connection)
23:31:34*NimBot joined #nim
23:41:38*dddddd quit (Remote host closed the connection)
23:46:38*icebattle joined #nim
23:49:35skrylarmratsim: http://strlen.com/restructor/ might be useful for writing neurons?
23:52:35*cornfeedhobo quit (Ping timeout: 240 seconds)
23:57:20*ehmry quit (Ping timeout: 256 seconds)