<< 28-07-2019 >>

00:00:01*junland quit (Quit: %ZNC Disconnected%)
00:00:21*krux02__ joined #nim
00:00:50*junland joined #nim
00:03:03*krux02_ quit (Ping timeout: 264 seconds)
00:05:02*krux02__ quit (Remote host closed the connection)
00:05:44*cheatfate left #nim ("Leaving")
00:06:58*matti quit (Ping timeout: 252 seconds)
00:09:11*matti joined #nim
00:11:34*shomodj quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
00:12:01*laaron- joined #nim
00:15:28*laaron quit (Ping timeout: 260 seconds)
00:18:04leorize@Generic well this is certainly possible, nim.nvim does it and only spawn one nimsuggest per project
00:21:45Araqbtw, just for the records, "nimgrep" does support the '-y' option since forever (@dom96)
00:35:50*gangstacat quit (Quit: Ĝis!)
00:52:53leorizeI've managed to crash neovim on windows by talking to nimsuggest :P
00:53:25Araqwhom is to blame?
00:54:11leorizeneovim ofc :P
00:54:21Araqgood
00:54:25leorizegood news is nim.nvim does work on windows
00:57:53leorizethe latest git head of neovim is working rather well with nim.nvim \o/
00:57:59leorize(on Windows)
00:58:46*HP-YC9 quit (Remote host closed the connection)
00:59:18Araqinteresting that there are Windows Neovim users :P
00:59:26*HP-YC9 joined #nim
00:59:42*HP-YC9 quit (Remote host closed the connection)
01:00:08leorizeI don't think there's any, but doesn't hurt to try
01:00:11*HP-YC9 joined #nim
01:10:02*laaron- quit (Remote host closed the connection)
01:10:28*laaron joined #nim
01:27:47*laaron quit (Quit: ZNC 1.7.1 - https://znc.in)
01:28:19*laaron joined #nim
01:52:05FromGitter<awr1> does neovim have a gvim equivalent?
01:52:13FromGitter<awr1> i used to use gvim on windows before i switched to emacs
01:52:46leorizethey even have a vsc equivalent :P
01:53:08FromGitter<awr1> what was it called again?
01:53:12FromGitter<awr1> i remember trying it
01:53:23leorizethe default is nvim-qt, which doesn't have as much feature as gvim
01:53:30leorizebut then you also have this selection: https://github.com/neovim/neovim/wiki/Related-projects
01:53:39FromGitter<awr1> no i was thinking of like this editor that was based on neovim
01:53:48FromGitter<awr1> that internally used it
01:53:54FromGitter<awr1> i can't remember what it was called
01:54:07leorizethat page above should have most of them
01:54:33FromGitter<awr1> Oni
01:54:35FromGitter<awr1> yeah
01:54:38FromGitter<awr1> that's what it was
01:54:50FromGitter<awr1> https://www.onivim.io/
01:55:19FromGitter<awr1> i don't remember why it didn't stick with me
01:55:42leorizeelectron :P
01:56:04FromGitter<awr1> i can "tolerate" electron
01:56:46FromGitter<awr1> but apparantly they're (i.e. Oni) a closed source product now
01:56:49leorizewell there's a rather huge selection there, just pick whatever you feel like usable
01:56:57leorizeand not everything is electron-based
01:57:02leorize\o/
01:57:25FromGitter<awr1> i'll stick to spacemacs until i develop my own editor, which will likely never happen
02:05:18leorizehttps://github.com/zchee/nvim-go
02:05:25leorizethis looks cool
02:05:31leorizeusing go to write a nvim plugin
02:11:08leorizeAraq: what does the `outline` command in nimsuggest supposed to do?
02:23:57sealmoveOni is cool
03:23:32leorizenarimiran, Zevv: potentially cool feature: https://asciinema.org/a/OmyoZPO1JfdaOAhZ0r59hebSZ
03:31:25*laaron quit (Quit: ZNC 1.7.1 - https://znc.in)
03:32:26*laaron joined #nim
04:16:43*laaron- joined #nim
04:18:52*laaron quit (Quit: ZNC 1.7.1 - https://znc.in)
04:23:52*dddddd quit (Remote host closed the connection)
04:29:51*laaron- quit (Quit: ZNC 1.7.1 - https://znc.in)
04:34:05*laaron joined #nim
04:52:23FromGitter<Obround> Is there someway to stream all exceptions raised to a file?
05:00:45leorizeoverride the newException template is a way
05:01:00FromGitter<awr1> there are multiple ways
05:01:12FromGitter<awr1> you can replace `system.errorMessageWriter`
05:03:22leorizewell but if you want "all" of them, overriding newException is a better bet
05:03:23FromGitter<awr1> alternatively: `stderr.reopen("exceptions.log", fmReadWrite)`
05:07:20FromGitter<awr1> or do like @leorize said if you want all of them regardless of whether or not they're handled
05:08:39FromGitter<Obround> What do you mean by override newException? Could you give an example?
05:10:08leorizebut why would you want to do that?
05:10:20leorizeit means editing newException in system.nim
05:12:49FromGitter<Obround> I am making a compiler that transpiles to Nim, and need to do some exception handling.
05:14:05leorizeyou're going to depend on Nim's exception facility?
05:16:05FromGitter<awr1> do you want all exceptions ever thrown or just the unhandled ones?
05:16:44FromGitter<awr1> i mean those can technically be the same thing, as far as the stdlib is concerned
05:16:53FromGitter<awr1> i said that wrong
05:17:13FromGitter<awr1> i mean to say any handling of them would probably be on your end
05:19:26FromGitter<Obround> Yea, I know, but I don't want to write a Semantical and Logical analysis section unless absolutely needed.
05:22:22*absolutejam4 joined #nim
05:42:05*solitudesf joined #nim
05:43:09*nsf joined #nim
06:05:00*laaron quit (Quit: ZNC 1.7.1 - https://znc.in)
06:09:13*laaron joined #nim
06:15:34*absolutejam4 quit (Ping timeout: 246 seconds)
06:39:38Zevvleorize: cool stuff
06:44:49*nif quit (Quit: ...)
06:44:58*nif joined #nim
06:45:53*laaron quit (Quit: ZNC 1.7.1 - https://znc.in)
06:48:55leorizegit pull :)
06:49:50*laaron joined #nim
06:52:10*Cthalupa quit (Ping timeout: 272 seconds)
06:52:47*snifftek joined #nim
06:54:17*Cthalupa joined #nim
06:56:28leorizeZevv: is there any bindings for "find all references of a symbol"?
06:57:01leorizethe location list is rather flexible
06:57:22Zevvthe cscope bindings have these things - find definition, find declaration, find callers, find references
06:58:36Zevvbut I'm not sure if these have default bindings, I have them mapped to <leader>- keys
06:59:48leorizelooks like for cscope then you type the query in
07:00:00*gmpreussner quit (Quit: kthxbye)
07:00:56leorizediff from how nimsuggest would work :/
07:01:22ZevvTo Whom It May Concern: https://github.com/nim-lang/RFCs/pull/156
07:01:43leorizewell maybe I'll just implement a script binding for that one
07:05:10*gmpreussner joined #nim
07:06:12Zevvcan I close the references window with the same binding?
07:06:44leorizeit'll use the location list, so :lclose should do
07:07:13Zevvyeah but that's so many keys :)
07:07:29Zevvnah you're right
07:07:30leorizemy <esc> is nohlsearch | pclose | lclose :P
07:07:41ZevvOh I should add that to my ^L, good idea
07:08:57Zevvlike a charm
07:24:52*absolutejam4 joined #nim
07:33:53FromGitter<mratsim> @obround is it an embedded language or a full fledged compiler? You can use nim-chronicles for error logging to file and/or CLI
07:52:10*laaron quit (Quit: ZNC 1.7.1 - https://znc.in)
07:53:07*laaron joined #nim
07:57:01*Vladar joined #nim
08:08:16*sagax quit (Ping timeout: 258 seconds)
08:08:43*laaron quit (Remote host closed the connection)
08:09:20*laaron joined #nim
08:09:29*absolutejam4 quit (Ping timeout: 268 seconds)
08:12:01*laaron quit (Client Quit)
08:14:01*sagax joined #nim
08:16:16*laaron joined #nim
08:46:33leorizeZevv: I'm implementing the "see where a symbol is referenced" feature, and currently the location list is being populated like this:
08:46:40leorizekoch.nim|136 col 30|
08:47:00leorizedo you think I should append any information after that?
09:13:40*nsf quit (Quit: WeeChat 2.4)
09:19:04*laaron quit (Quit: ZNC 1.7.1 - https://znc.in)
09:19:45leorizenarimiran, Zevv, disruptek: preview of an another cool feature https://asciinema.org/a/HE7wBXtJiWALBFdBde7BvXhiI
09:20:09*NimBot joined #nim
09:21:24*clyybber joined #nim
09:23:36*laaron joined #nim
09:37:19*jjido joined #nim
09:47:24*FromGitter quit (Remote host closed the connection)
09:47:24*oprypin quit (Quit: Bye)
09:47:40*oprypin joined #nim
09:47:51*FromGitter joined #nim
09:57:01*oprypin quit (Quit: Bye)
09:57:01*FromGitter quit (Remote host closed the connection)
09:57:18*oprypin joined #nim
09:57:29*FromGitter joined #nim
10:01:04Zevvon a roll!
10:01:25Zevvbut dude, your screen looks like a 90's ascii game :)
10:03:35leorizethat's why it's cool :)
10:09:40*stefanos82 joined #nim
10:30:21FromGitter<kdheepak> I'm running ⏎ ⏎ ```code paste, see link``` ⏎ ⏎ When I run the cmd from the command line I get the result immediately. But when I run it in nim it hangs indefinitely. How do I debug this? [https://gitter.im/nim-lang/Nim?at=5d3d793cd254cf27df91e177]
10:31:52FromGitter<kdheepak> I think it is because `cmd` outputs a large amount of text. If I decrease the amount of text being outputted it runs fine.
10:38:14*jjido quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
10:38:45FromGitter<kdheepak> Potentially related to this: https://github.com/nim-lang/Nim/issues/9953
10:40:10*solitudesf quit (Ping timeout: 272 seconds)
10:49:21Zevvyes, it's a known issue, even the compiler itself suffers from that
10:49:35Zevvif the compiler generates enough diagnostic output 'nim c' hangs
10:52:57leorizeI think you commented on the wrong issue
10:53:09Zevvoh?
10:53:41leorizethat one is about how not being able to forward stdin causes some program to wait endlessly for input
10:54:12Zevvoh damn, right, too many tabs
10:54:48Zevvthanks, fixed
10:56:35Zevvand even my string insert PR was a mess :(
11:12:35*arecaceae quit (Remote host closed the connection)
11:12:55*arecaceae joined #nim
11:17:05ZevvI blame the heat
11:29:11*krux02 joined #nim
11:36:53*Vladar quit (Remote host closed the connection)
11:38:08*jjido joined #nim
11:42:38*absolutejam4 joined #nim
11:47:59*laaron quit (Remote host closed the connection)
11:48:45*laaron joined #nim
11:57:02*ng0 joined #nim
12:01:43*absolutejam4 quit (Ping timeout: 245 seconds)
12:02:56*dddddd joined #nim
12:21:12FromGitter<mratsim> Interesting views on constructors: https://matklad.github.io//2019/07/16/perils-of-constructors.html
12:23:16*jjido quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
12:27:47*clyybber quit (Quit: WeeChat 2.5)
12:38:39*abm joined #nim
12:52:12*Vladar joined #nim
12:55:51*nsf joined #nim
12:56:13krux02@mratsim: we have people who want constructors in Nim as well.
12:56:35krux02constructors, default values and stuff.
12:57:30FromGitter<mratsim> default values would be nice, especially for ranges with no "0". ⏎ constructors, no preference.
13:08:16*krux02 quit (Remote host closed the connection)
13:12:13*jjido joined #nim
13:14:59*jjido quit (Client Quit)
13:16:15FromGitter<mratsim> Mmmh, nim threads have no destructors?
13:27:38*Kaivo joined #nim
13:44:03*shomodj joined #nim
13:46:14*shomodj quit (Read error: Connection reset by peer)
13:46:44*shomodj joined #nim
13:50:54*shomodj quit (Client Quit)
13:54:24disruptekleorize: sweet, i'd use it!
13:55:15disruptekleorize: what other line info do you have easy access to at that point in time?
13:57:36disruptekhow about this stream idea: implement an app in session one, reimplement the very same app in session two.
14:00:36*hoijui joined #nim
14:17:07*arecaceae quit (Remote host closed the connection)
14:17:54*arecaceae joined #nim
14:21:42*Trustable joined #nim
14:30:34leorizedisruptek: what do you mean by line info?
14:31:23disruptekthe line info you have associated with each reference found by your new feature.
14:31:48leorizeI only have line + col + filename :P
14:32:02disruptekoh, then what else are we choosing from? :-P
14:32:35leorizenot sure if I understood :P
14:32:47leorizeoh and pull nim.nvim, it should have the shiny new outline feature
14:32:57leorizethe mapping is gO
14:33:19disruptek04:47 < leorize> do you think I should append any information after that?
14:33:49leorizeah, I got file + line + col, so I just used that to fetch that line as the text appended
14:34:23leorizeadditional info from nimsuggest includes the type of the symbol being referenced, doc comments
14:34:30leorizenothing useful in particular
14:34:45disruptekhow awesome is it that you can make a new feature and have users testing it seconds later? it always blows my mind.
14:35:09leorizenimsuggest is super simple to use :)
14:35:25leorizeand I've a really nice communication layer with nimsuggest
14:35:35disruptekdoc comments would be cool, if we could, like, example the line or something. where do they get the doc comment from? the first hit higher in the parse tree?
14:35:52leorizedoc comments is of the symbol being referenced
14:35:53disruptekbecause that would be cool.
14:36:25disrupteksure, that's idea, but sometimes it doesn't exist.
14:36:30disrupteks/idea/ideal/
14:37:22leorizeI'm going to write a bit of docs for the find references feature then y'all can test that
14:38:23disruptekwhat's the outline feature?
14:38:51leorizegive you the list of every symbols declared in the current file
14:39:01leorizethen you can quickly jump to them
14:39:19leorizeshown in the first part of that recording
14:42:56FromGitter<Riderfighter> Hola my favorite and one gitter channel :)
14:45:36FromGitter<mratsim> hey
14:48:44leorizedisruptek: just pushed the new feature
14:49:02FromGitter<Riderfighter> what are you working on leorize?
14:49:06*shomodj joined #nim
14:49:07leorizeyou should bind :NimReferences to a hotkey
14:49:23leorize@Riderfighter: the nim plugin for neovim
14:49:34FromGitter<Riderfighter> ah that's cool :)
14:53:29*luis_ joined #nim
14:55:32*shomodj quit (Read error: Connection reset by peer)
14:55:40*shomodj_ joined #nim
14:56:43luis_Are there any tools to convert C code into Nim code?
14:58:15lqdev[m]c2nim?
14:58:49luis_Thanks!
15:02:13*luis_ quit (Quit: luis_)
15:02:24*Kaivo quit (Quit: WeeChat 2.5)
15:06:12*shomodj_ quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
15:10:53*Trustable quit (Remote host closed the connection)
15:19:09FromGitter<mratsim> you will still need to work on preprocessing the "define", and post process stuff like nested struct
15:19:17*laaron quit (Remote host closed the connection)
15:27:09leorizeI think nim.nvim is now feature compatible with vscode-nim
15:27:30leorizeactually it even have semantic highlighting, which vscode-nim doesn't have
15:29:12*luis_ joined #nim
15:29:15leorizesome further inspection with the neovim's termdebug feature and nim.nvim will beat vscode in debugging by a huge margin
15:29:33FromGitter<Riderfighter> 😓
15:29:50FromGitter<Riderfighter> You wouldn't happen to want to work on the vscode plugin by chance leorize ? :P
15:30:05luis_How do I get a string of today's date using the times module?
15:30:12leorizeI'm allergic to js and typescript :)
15:30:23luis_now().parse("yyy-MM-dd") does not work
15:30:29leorizeuse format
15:30:36leorizeparse is for parsing string
15:30:51luis_ok
15:31:27luis_it works, thanks
15:31:50leorizenp
15:32:07leorize@Riderfighter: since you know JS, maybe you can improve that plugin :)
15:33:09leorizere-writing it in Nim is also possible I think :p
15:33:22FromGitter<Riderfighter> Oh gosh
15:33:47FromGitter<Riderfighter> See the thing is, I know js and ts but like I have zero idea how vscode plugins work
15:35:12FromGitter<Riderfighter> I would also love to load up a tutorial/the plugins source code but my internet is so slow google will fail to load sometimes haha
15:35:38leorizeprobably vscode plugins are simple
15:35:46leorizeI mean I wrote nim.nvim with 1071 LoC
15:35:58leorizeand vimscript is an extremely verbose language
15:36:10FromGitter<Riderfighter> vscode plugins are mostlikely very cookie cutter
15:38:52FromGitter<Riderfighter> I was looking at the issues opened w/ nim on github and someone was talking about a languaage that could compile to optimized python haha
15:40:56FromGitter<Riderfighter> here is what i'm talking about https://github.com/nim-lang/Nim/issues/11843
15:41:16leorizeI've taken a brief look at vscode extension api
15:41:32leorizepowerful, but seems daunting to use correctly
15:42:07FromGitter<Riderfighter> Does this mean you're taking up the honor of making a powerful nim extension? :P
15:42:19leorizeno :P
15:42:33FromGitter<Riderfighter> hahaha thought so :)
15:46:03*hoijui quit (Quit: Leaving)
15:51:17*shomodj joined #nim
15:52:19*shomodj quit (Client Quit)
15:55:18FromGitter<Riderfighter> i just found this cool note taking app someone is working on https://github.com/bluenote10/Notemarks/
15:55:26FromGitter<Riderfighter> from what I see it's pretty solid lol
15:55:40FromGitter<Riderfighter> karax+electron+typescript
15:58:59luis_What is the easiest way to write a line into a file with Nim? newFileStream() and then write()?
16:01:05luis_Correction: to create a new file and write a string into it
16:01:16leorizewriteFile()
16:02:03leorizeor let file = open(filename, fmWrite); file.write "string"
16:06:58luis_thanks
16:08:16Zevvleorize! I just got the brightest idea: we should make a vimscript bacekend for nim!
16:11:53*luis_ quit (Ping timeout: 250 seconds)
16:24:19*Tyresc joined #nim
16:26:46FromGitter<mratsim> > _>
16:27:39FromGitter<mratsim> I guess I'll have to start learning neovim, and learn how to open and navigate multiple windows in vim
16:28:05FromGitter<mratsim> I'm really annoyed at VSCode CPU spikes when it's as hot as in the past week
16:33:47Zevvis that vscode or nimsuggest burning your electrons?
16:48:43*xace quit (Ping timeout: 268 seconds)
16:49:09leorize@mratsim: use some of the vscode-like frontend and you'll be fine
16:49:24leorizeZevv: lol
16:49:34FromGitter<mratsim> I think it's both :/
16:50:32FromGitter<mratsim> I tried micro and howl as well but they are not for me
16:51:25leorizehttps://github.com/neovim/neovim/wiki/Related-projects <- here's a nice list of frontends
16:51:45leorizeor just learn the keyboard ways of nvim
16:55:09*xace joined #nim
17:01:29*jjido joined #nim
17:12:22*solitudesf joined #nim
17:39:06shashlick@mratsim I'm totally hoping to make feud the goto editor for those fed up with electron based editors
17:40:22FromGitter<mratsim> feud?
17:41:28kungtottehttps://github.com/genotrance/feud this one?
17:43:08shashlickYep
17:43:26shashlickNim rocks for such stuff
17:43:51kungtotteI have two problems with it: It's Windows only and it doesn't have vim keybindings ;)
17:44:29shashlickBoth are solvable since Nim and scintilla are cross platform and key bindings are not a big challenge
17:45:45kungtotteBefore I started using vim (and when I was still on Windows) I was actually using SCiTE. It was a pretty nice, light-weight editor.
17:52:26*def- quit (Ping timeout: 244 seconds)
17:56:47shashlickI am still a vim guy at heart but I don't like the console response at all
17:57:11Zevvwhat is your problem with the console then?
17:57:12shashlickI used scite quite a bit, recently npp
17:57:24shashlickNow I use feud full time
17:57:41shashlickRefresh rate
17:57:52shashlickRemember I'm on windows
17:57:57Zevvoh right :(
17:58:15kungtotteYeah, neovim is probably not great then. But gVim ran fine for me on Windows
17:58:40kungtotteAnd with vim 8 you have a lot of the features that made neovim great (particularly async)
17:59:13Zevvyeah, I wonder if nim.nvim authors will ever decide to target vim 8
17:59:24FromGitter<Riderfighter> This is probably going to be a bad question but, what is the difference between vim and neovim?
17:59:46shashlickI would especially with the work leorize has put in
17:59:48Zevvfor me the only difference is that leorize supports nvim and not vim :)
18:00:02shashlickBut I started feud and it works very well
18:00:02FromGitter<Riderfighter> haha
18:00:22shashlickNim makes it easy to build performant stuff
18:00:32Zevvit's the only reason I changed to nvim on my main computer, and in practice everything acts exactly the same as with vim
18:00:33shashlickA text editor is a great example
18:02:55FromGitter<Riderfighter> you know what would be really fun
18:02:59FromGitter<Riderfighter> a LUA backend haha
18:02:59FromGitter<Riderfighter> :)
18:03:17Zevvyou can laugh all you want - there used to be a PHP backend
18:03:28shashlickSo I already have a full plugin system so you can write pure Nim extensions
18:03:35FromGitter<Riderfighter> LOL
18:03:37FromGitter<Riderfighter> PHP?
18:03:38livcdshashlick: how do i install it ?
18:03:48shashlickJust extract zip from releases
18:03:54FromGitter<Riderfighter> Why was that magnificent backend ever removed Zevv?
18:04:36Zevv Apr 18 11:40:11 2018
18:04:50livcdshashlick: ok
18:05:19livcdok i was trying to compile: pkgs\winim-3.1\winim\inc\windef.nim(7830, 42) Error: -1 can't be converted to BYTE
18:05:58shashlickYa you need latest winim - I don't know if that ever got fixed
18:06:36livcdok
18:06:40shashlickActually it is fixed
18:06:43shashlickhttps://github.com/khchen/winim/issues/39
18:07:01shashlickBut there are bugs with 0.20.0+
18:07:10shashlickSo best to use the compiled binary
18:07:26shashlickI need to fix latest
18:07:29ZevvRiderfighter: and a Lua backend would probably be fairly trivial, as it is not far from JS
18:07:46*jjido quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
18:08:10shashlickFeud also has nng so you can send it commands from any language that has an nng lib
18:08:27kungtotteAFAIK there's nothing preventing nim.nvim from supporting vim 8 too. According to the readme it comes down to the TCP socket support but vim 8 has that as far as I can see.
18:10:25livcdshashlick: would you consider writing an article about how to go about wrapping a C lib ?
18:11:31shashlickI agree I need to get around to doing that
18:12:03shashlickBut i have tried to put all my learnings into nimterop
18:13:04FromGitter<Riderfighter> Zevv: I was half kidding about a LUA backend, I could definitely see places where I'd use it
18:15:23*sealmove quit (Quit: WeeChat 2.5)
18:18:51*def- joined #nim
18:24:43leorizekungtotte, Zevv: I've tested nim.nvim on windows :P
18:25:48leorizeand yes, there aren't much blockers to support vim 8 (other than a lot of conditionals), but then nimlsp fills that gap really well already
18:26:28leorizethe only thing that sets nimlsp and this plugin apart is semantic highlighting and a much lighter "protocol" to parse
18:29:45leorize@Riderfighter: the php backend was removed because no one maintained/used it :p
18:31:30*jjido joined #nim
18:33:26FromGitter<Riderfighter> Does anyone know where in nim's code is the backend for lets say js?
18:33:42FromGitter<Riderfighter> I'm interested in seeing how the backend works :)
18:34:45leorizecompiler/*gen.nim
18:35:08Araqleorize: actually it got removed in order to make the JS codegen easier to maintain as it was a variant of it
18:35:14FromGitter<Riderfighter> 👌 thank you leorize
18:36:35FromDiscord_<telara{a> Why nim wnath to record my telemetry data?
18:36:59FromDiscord_<telara{a> During the inslation
18:36:59FromDiscord_<telara{a> https://cdn.discordapp.com/attachments/371759389889003532/605106440809611274/unknown.png
18:37:36leorizejust anonymous data so dom96 would know how many people used choosenim on what
18:37:49leorizeif you say no it means no
18:37:57leorizesource code is available for inspection
18:39:57FromDiscord_<telara{a> Cool, thanks
18:40:55leorizeAraq: what do `mod` and `dus` commands in nimsuggest do?
18:41:18leorizeI've tried to throw a bunch of things at them and got nothing back
18:42:02AraqI don't remember what 'mod' does, something like "this file was modified" (used for testing?)
18:42:14Araq'dus' is one of Araq's innovations
18:42:24Araqit's "definition or usage"
18:42:58Araqif the cursor is on the definition, it gives you the usages, if it's on a usage, it gives you the definition
18:44:43*Trustable joined #nim
18:45:28leorizethe funny thing is that I get the same answers from `dus` vs `use` regardless of context :P
18:45:41leorizeit gives me a `def` then a series of `use`
18:45:58AraqI think I later changed my mind :P
18:46:06Araqand just give out everything
18:47:07livcdtelara{a: to give you beautifully crafted ads
18:47:23ZevvRiderfighter: making a lua backend would be an interesting excersise, but then you'd have to maintain it :)
18:50:34leorizethe only piece of nimsuggest unused by nim.nvim is `chk`
18:50:50leorizedon't know if I should attempt it
18:57:23lqdev[m]how does nim handle automatic semicolon insertion?
18:58:12disruptekpretty fast; definitely a good idea to wear heavy gloves and safety glasses.
18:58:33leorizelqdev[m]: what automatic semicolon insertion?
18:58:54lqdev[m]leorize: I mean the fact that you don't need explicit semicolons after statements
18:59:37leorizeI'd say the rules are simple: no line continuing characters, then newline
19:00:05leorizeprobably not that simple in implementation
19:07:06lqdev[m]I'm asking because I'm wondering about how I could implement that in rod
19:07:39lqdev[m]I was thinking something along the lines of what go does, with semicolons automatically inserted after some tokens when the scanner sees a line feed
19:15:47leorizeI think it's different with Nim
19:16:08leorizethe parser don't insert semicolons afaict
19:34:23*luis_ joined #nim
19:34:50luis_So echo always adds a newline after the text?
19:35:03luis_Is there a way of avoiding this?
19:35:39*qwertfisch quit (Ping timeout: 258 seconds)
19:38:20*euantor quit (Ping timeout: 258 seconds)
19:39:54solitudesfstdout.write
19:40:07luis_thanks
19:40:09*qwertfisch joined #nim
19:42:02*a_b_m joined #nim
19:45:14*euantor joined #nim
19:45:52*abm quit (Ping timeout: 245 seconds)
19:50:00*luis__ joined #nim
19:50:52*luis_ quit (Ping timeout: 276 seconds)
19:56:11*nsf quit (Quit: WeeChat 2.4)
19:58:30FromGitter<mratsim> @shashlick, what's the difference between feud and howl besides Nim vs Lua/Moonscript?
20:04:44*luis__ quit (Quit: luis__)
20:07:11*jjido quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
20:09:41FromGitter<alehander42> lqdev, you just dont need semicolon
20:09:51FromGitter<alehander42> newline is just the separator i guess
20:09:58FromGitter<alehander42> at least when i wrote parsers
20:10:11lqdev[m]🤔
20:10:13FromGitter<alehander42> thats what i did, but i might've wrote them in a strange way
20:10:18FromGitter<alehander42> i mean
20:10:31FromGitter<alehander42> you dont need a semicolon naturally
20:10:39FromGitter<alehander42> its an artificial thing
20:11:37FromGitter<alehander42> but my stuff usually has only one expression/statement on line, so never really thought of the other case
20:12:24FromGitter<Riderfighter> Hello alehander42 :D
20:12:41FromGitter<alehander42> oh hello :PO
20:13:11FromGitter<Riderfighter> Zevv: tbh I'm considering trying to attempt a LUA backend just to see how it works
20:13:25FromGitter<Riderfighter> or even a python backend while we're at it, might as well dream big :)
20:14:03FromGitter<alehander42> i've also thought of a python backend
20:14:12*jjido joined #nim
20:14:16FromGitter<alehander42> as it would let me write python code for many scripting env-s e.g. gdb blender
20:14:18FromGitter<alehander42> and others
20:14:19FromGitter<alehander42> in nim
20:14:45FromGitter<Riderfighter> a python backend could be fun to be honest
20:15:11FromGitter<Riderfighter> since it should be fairly straight forward to group structs and their procedures into a class
20:15:16FromGitter<alehander42> but never got the time(and it should kinda work similarly to jsffi but one would need to generlize when defined(js) to when dynamicBackend and JsObject etc to something better
20:15:33FromGitter<alehander42> eehh not sure
20:15:41FromGitter<alehander42> becuase you might have methods in different files
20:15:54FromGitter<alehander42> iirc but it should be possible
20:16:25FromGitter<alehander42> but just in case, if anyone attempts that: first a rfc, because its very possible to not be included
20:17:02FromGitter<Riderfighter> psh
20:17:13FromGitter<Riderfighter> do a pull request out of the blue and pray it gets accepted
20:19:04FromGitter<Riderfighter> a golang backend would be fun too
20:21:16FromGitter<Riderfighter> alrighty now that I suggested all these cool backends, I'm going to go give up trying to implement one of them :P
20:21:35ZevvRiderfighter: copy jsgen, jstypes and jssym to luagen, luatypes and luagen
20:22:06FromGitter<Riderfighter> thinking big, I like that :)
20:22:09Zevvgo through main, options and platform and copy the appropriate js stuff for lua and add a bunch of ifs
20:22:38Zevvand then adjust the lua* files to emit lua code instead of js
20:23:42*absolutejam4 joined #nim
20:23:46FromGitter<Riderfighter> that sounds like a plan !
20:27:29FromGitter<alehander42> Zevv thats whyat i meant
20:27:31FromGitter<alehander42> dont do that!
20:27:44FromGitter<alehander42> because there is a lot of when defined(js) thru the compiler and libs
20:28:13FromGitter<alehander42> and you wouldnt want to see that triple
20:28:49FromGitter<alehander42> one needs to do that, but also try to generalize/abstract/reuse some stuff into a dynamic-backend common place
20:29:51FromGitter<Riderfighter> ugh im so pooped right now
20:30:13FromGitter<Riderfighter> my internet is so slow right now I can't npm download electron lol
20:30:24FromGitter<arnetheduck> @Riderfighter just join the low level dark side: https://github.com/arnetheduck/nlvm
20:30:29FromGitter<alehander42> what i mean is do what zevv says, but with a little bit more abstraction
20:30:32FromGitter<alehander42> sorry guys!
20:30:42FromGitter<alehander42> but first do a rfc :P
20:30:53FromGitter<Riderfighter> what is an rfc used for specifically?
20:31:17FromGitter<alehander42> radical new features!
20:31:42*luis__ joined #nim
20:32:11FromGitter<Riderfighter> RFC = Radical Feature Club :D
20:32:41FromGitter<Riderfighter> @arnetheduck time to check out the low level dark once the page stops loading from top to bottom
20:32:56FromGitter<awr1> pining for nlvm to become a JIT
20:34:03*luis__ quit (Client Quit)
20:34:37*luis__ joined #nim
20:35:46*shomodj joined #nim
20:39:24FromGitter<Riderfighter> do you guys ever feel like a radical coder and use {.emit.} in places where you aren't supposed to?
20:40:06Zevvit's my code and I'll .emit. when I want to
20:40:52Zevvyou would .emit. too if it happened to you
20:41:08*Trustable quit (Remote host closed the connection)
20:41:43*shomodj quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
20:42:12FromGitter<Riderfighter> yes
20:42:36FromGitter<Riderfighter> .emit. makes me feel like a .emit.
20:45:54shashlick@mratsim I've not played with howl but I'll check it out
20:45:57*clyybber joined #nim
20:46:21shashlickMy goal is gui performance with cli interface
20:47:56FromGitter<mratsim> I use emit when I can't do otherwise: either for specific OpenMP constructs or for interpolating OpenCL/Cuda.
20:48:50FromGitter<mratsim> I also use it when I want C array with runtime size :P
20:48:55FromGitter<Riderfighter> haha :)
20:49:05FromGitter<Riderfighter> that's pretty great
20:49:39FromGitter<Riderfighter> this one github repo does this ⏎ ⏎ ```code paste, see link``` [https://gitter.im/nim-lang/Nim?at=5d3e0a63ce271b4acd2349ff]
20:49:52*PrimHelios quit (Quit: ZNC - https://znc.in)
20:50:05FromGitter<mratsim> I'm pretty sure it's laziness
20:50:12*Skaruts joined #nim
20:50:12*PrimHelios joined #nim
20:50:22FromGitter<Riderfighter> i hope so
20:50:38FromGitter<Riderfighter> there is only a singular semicolon in that emit haah
20:52:08disruptekweight-savings.
20:53:57FromGitter<Riderfighter> does anyone know of any lightweight js/css/html engines?
20:54:09disruptekspectre?
20:54:23FromGitter<Riderfighter> I'll check that out, thank you!
20:57:39FromGitter<Riderfighter> @alehander42 has motivated me to get my program running w/ electron but I can't download it right now so I'm looking at alternatives
20:58:21*Skaruts left #nim (#nim)
20:58:40disruptekoh, spectre is just a simple css framework. i misunderstood.
20:59:02disrupteki don't know anything like electron but lightweight. kinda an oxymoron.
20:59:58FromGitter<Riderfighter> Its most definitely an oxymoron, Electron is thicc at best
21:00:14*absolutejam4 quit (Quit: WeeChat 2.5)
21:01:15FromGitter<Riderfighter> I'm interested in other Electron-like programs which might run a nim created program
21:02:34FromGitter<Riderfighter> I'll look into them on my own time though, it'll be fun for me !
21:04:31FromGitter<Riderfighter> Alrighty guys I'm going to head out, enjoy the rest of your day/night :D
21:08:14disruptekpeace out, 'fighter.
21:08:23*jjido quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
21:10:46*luis_ joined #nim
21:11:28*luis__ quit (Ping timeout: 276 seconds)
21:11:34*gearshift joined #nim
21:14:12*a__b__m joined #nim
21:17:32*a_b_m quit (Ping timeout: 245 seconds)
21:25:32*oculux quit (Ping timeout: 272 seconds)
21:29:01clyybberAraq: How should sink int behave?
21:29:06clyybberJust like int?
21:36:55*shomodj joined #nim
21:37:49*luis_ quit (Ping timeout: 246 seconds)
21:44:22*PrimHelios_ joined #nim
21:44:41*PrimHelios quit (Ping timeout: 250 seconds)
21:50:13*a_b_m joined #nim
21:52:02*solitudesf quit (Ping timeout: 248 seconds)
21:53:58*a__b__m quit (Ping timeout: 268 seconds)
21:54:11*onionhammer1 joined #nim
21:55:12*onionhammer quit (Ping timeout: 268 seconds)
21:56:22shashlick@mratsim looks like howl has similar goals, I'll look into it further
21:57:37shashlickBut I'm still quite confident that a Nim text editor will be hard to beat in terms of performance - both raw as well as dev productivity
21:58:17shashlickI just wish I could put more time into it
21:58:44*Vladar quit (Remote host closed the connection)
21:59:50FromGitter<mratsim> The main advantage of Lua is the extensibility with plugins, not sure how you could do that in Nim without better DLLs support
22:00:08FromGitter<mratsim> and LuaJIT is probably fast enough for a text editor
22:00:12*FromGitter quit (Remote host closed the connection)
22:00:13*oprypin quit (Quit: Bye)
22:00:27*oprypin joined #nim
22:00:39*FromGitter joined #nim
22:00:44FromGitter<mratsim> @clyybber, it prevents you from reusing the same variable in the future
22:02:00*jmiven quit (Quit: reboot)
22:03:03shashlickBesides the plugin loading infrastructure, everything else in feud is a separate dll
22:03:31shashlickSo the gui, nng remote, file loading, etc is all a plugin
22:03:33FromGitter<Varriount> Hello! How is everything going?
22:03:53shashlickSo any feature can be a plugin and have tier 1 access to everything
22:04:25*nif quit (Quit: ...)
22:04:34*nif joined #nim
22:07:37FromGitter<Varriount> @mratsim Don't popular versions of Lua also have sandboxing features, such as filesystem and memory limiting?
22:08:29FromGitter<mratsim> ah interesting @shashlick, a working example of plugin-based Nim rpject would be excellent
22:09:20FromGitter<mratsim> @Varriount no idea, last time I wanted to use a Lua project (which was like 4 years ago) I quickly run away due to LuaRocks failing left and right (it's lua package manager)
22:10:15FromGitter<Varriount> @mratsim If you've played/heard of gmod (also known as Garry's Mod), it makes heavy use of Lua plugins downloaded from server to client.
22:10:32FromGitter<mratsim> The strongest open-source go bot in 2015 was in Lua: https://github.com/facebookresearch/darkforestGo
22:15:27shashlickRpject?
22:15:55shashlickI guess you mean project
22:16:04shashlickFeud does it and it works well
22:18:40*jmiven joined #nim
22:22:02*jmiven quit (Client Quit)
22:22:47*jmiven joined #nim
22:32:29clyybbermratsim: Actually it doesn't. Only when you make `=` with {.error.} or use an owned ref. Otherwise it will just copy to sink, if you reuse it anyways.
22:33:11*ng0 quit (Quit: Alexa, when is the end of world?)
22:33:22*Sembei joined #nim
22:34:22clyybberThe question is, should we give out a warning when passing a trivial type which has no destructor like int to a sink by copy..
22:34:50clyybberBut in hindsight it's actually pretty clear we should not
22:34:55clyybberbbl
22:34:55*clyybber quit (Quit: WeeChat 2.5)
22:35:14FromGitter<mratsim> actually rereading a sink being reused should be a compile-time error
22:37:19*shomodj quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
22:37:43FromGitter<mratsim> so this also affects this issue: https://github.com/nim-lang/Nim/issues/11842#issuecomment-515801107
23:12:28*carkh joined #nim
23:17:53carkhhi, I have this nim program that i use to parse the command line to a java process, and make it compatible on windows with a posix command line, and it works well enough
23:18:03carkhthe experience doing it with nim was pretty good so far
23:18:11carkhand it works perfectly on windows at least
23:18:45carkhone can quit the java process with ctrl-Z or ctrl-c
23:18:53carkhand it's opening sockets
23:19:33carkhbut when i do this on linux, both processes remain there, that is my nim program and the java process
23:19:42carkhi think they call that zombie processes
23:20:19carkhmy experience on linux is spotty at best
23:21:19carkhi use startprocess in the nim source, without poevalcommand
23:21:38FromGitter<kayabaNerve> @Riderfighter Webview
23:21:42carkhtaking care of waiting for its exit and closing the process afterwards
23:22:06carkhany idea where i could look for a solution to this problem ?
23:36:54*lmariscal quit (Quit: I'm out!)
23:37:28*lmariscal joined #nim
23:39:10*stefanos82 quit (Quit: Quitting for now...)
23:41:55carkhwhat i really woudl like to do is to laucnh the child process, quit and leave the child process at the helm. just like the exec command in bash
23:42:14carkhin a portable way ><