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:04 | leorize | @Generic well this is certainly possible, nim.nvim does it and only spawn one nimsuggest per project |
00:21:45 | Araq | btw, just for the records, "nimgrep" does support the '-y' option since forever (@dom96) |
00:35:50 | * | gangstacat quit (Quit: Ĝis!) |
00:52:53 | leorize | I've managed to crash neovim on windows by talking to nimsuggest :P |
00:53:25 | Araq | whom is to blame? |
00:54:11 | leorize | neovim ofc :P |
00:54:21 | Araq | good |
00:54:25 | leorize | good news is nim.nvim does work on windows |
00:57:53 | leorize | the latest git head of neovim is working rather well with nim.nvim \o/ |
00:57:59 | leorize | (on Windows) |
00:58:46 | * | HP-YC9 quit (Remote host closed the connection) |
00:59:18 | Araq | interesting 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:08 | leorize | I 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:05 | FromGitter | <awr1> does neovim have a gvim equivalent? |
01:52:13 | FromGitter | <awr1> i used to use gvim on windows before i switched to emacs |
01:52:46 | leorize | they even have a vsc equivalent :P |
01:53:08 | FromGitter | <awr1> what was it called again? |
01:53:12 | FromGitter | <awr1> i remember trying it |
01:53:23 | leorize | the default is nvim-qt, which doesn't have as much feature as gvim |
01:53:30 | leorize | but then you also have this selection: https://github.com/neovim/neovim/wiki/Related-projects |
01:53:39 | FromGitter | <awr1> no i was thinking of like this editor that was based on neovim |
01:53:48 | FromGitter | <awr1> that internally used it |
01:53:54 | FromGitter | <awr1> i can't remember what it was called |
01:54:07 | leorize | that page above should have most of them |
01:54:33 | FromGitter | <awr1> Oni |
01:54:35 | FromGitter | <awr1> yeah |
01:54:38 | FromGitter | <awr1> that's what it was |
01:54:50 | FromGitter | <awr1> https://www.onivim.io/ |
01:55:19 | FromGitter | <awr1> i don't remember why it didn't stick with me |
01:55:42 | leorize | electron :P |
01:56:04 | FromGitter | <awr1> i can "tolerate" electron |
01:56:46 | FromGitter | <awr1> but apparantly they're (i.e. Oni) a closed source product now |
01:56:49 | leorize | well there's a rather huge selection there, just pick whatever you feel like usable |
01:56:57 | leorize | and not everything is electron-based |
01:57:02 | leorize | \o/ |
01:57:25 | FromGitter | <awr1> i'll stick to spacemacs until i develop my own editor, which will likely never happen |
02:05:18 | leorize | https://github.com/zchee/nvim-go |
02:05:25 | leorize | this looks cool |
02:05:31 | leorize | using go to write a nvim plugin |
02:11:08 | leorize | Araq: what does the `outline` command in nimsuggest supposed to do? |
02:23:57 | sealmove | Oni is cool |
03:23:32 | leorize | narimiran, 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:23 | FromGitter | <Obround> Is there someway to stream all exceptions raised to a file? |
05:00:45 | leorize | override the newException template is a way |
05:01:00 | FromGitter | <awr1> there are multiple ways |
05:01:12 | FromGitter | <awr1> you can replace `system.errorMessageWriter` |
05:03:22 | leorize | well but if you want "all" of them, overriding newException is a better bet |
05:03:23 | FromGitter | <awr1> alternatively: `stderr.reopen("exceptions.log", fmReadWrite)` |
05:07:20 | FromGitter | <awr1> or do like @leorize said if you want all of them regardless of whether or not they're handled |
05:08:39 | FromGitter | <Obround> What do you mean by override newException? Could you give an example? |
05:10:08 | leorize | but why would you want to do that? |
05:10:20 | leorize | it means editing newException in system.nim |
05:12:49 | FromGitter | <Obround> I am making a compiler that transpiles to Nim, and need to do some exception handling. |
05:14:05 | leorize | you're going to depend on Nim's exception facility? |
05:16:05 | FromGitter | <awr1> do you want all exceptions ever thrown or just the unhandled ones? |
05:16:44 | FromGitter | <awr1> i mean those can technically be the same thing, as far as the stdlib is concerned |
05:16:53 | FromGitter | <awr1> i said that wrong |
05:17:13 | FromGitter | <awr1> i mean to say any handling of them would probably be on your end |
05:19:26 | FromGitter | <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:38 | Zevv | leorize: 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:55 | leorize | git 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:28 | leorize | Zevv: is there any bindings for "find all references of a symbol"? |
06:57:01 | leorize | the location list is rather flexible |
06:57:22 | Zevv | the cscope bindings have these things - find definition, find declaration, find callers, find references |
06:58:36 | Zevv | but I'm not sure if these have default bindings, I have them mapped to <leader>- keys |
06:59:48 | leorize | looks like for cscope then you type the query in |
07:00:00 | * | gmpreussner quit (Quit: kthxbye) |
07:00:56 | leorize | diff from how nimsuggest would work :/ |
07:01:22 | Zevv | To Whom It May Concern: https://github.com/nim-lang/RFCs/pull/156 |
07:01:43 | leorize | well maybe I'll just implement a script binding for that one |
07:05:10 | * | gmpreussner joined #nim |
07:06:12 | Zevv | can I close the references window with the same binding? |
07:06:44 | leorize | it'll use the location list, so :lclose should do |
07:07:13 | Zevv | yeah but that's so many keys :) |
07:07:29 | Zevv | nah you're right |
07:07:30 | leorize | my <esc> is nohlsearch | pclose | lclose :P |
07:07:41 | Zevv | Oh I should add that to my ^L, good idea |
07:08:57 | Zevv | like a charm |
07:24:52 | * | absolutejam4 joined #nim |
07:33:53 | FromGitter | <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:33 | leorize | Zevv: I'm implementing the "see where a symbol is referenced" feature, and currently the location list is being populated like this: |
08:46:40 | leorize | koch.nim|136 col 30| |
08:47:00 | leorize | do 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:45 | leorize | narimiran, 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:04 | Zevv | on a roll! |
10:01:25 | Zevv | but dude, your screen looks like a 90's ascii game :) |
10:03:35 | leorize | that's why it's cool :) |
10:09:40 | * | stefanos82 joined #nim |
10:30:21 | FromGitter | <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:52 | FromGitter | <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:45 | FromGitter | <kdheepak> Potentially related to this: https://github.com/nim-lang/Nim/issues/9953 |
10:40:10 | * | solitudesf quit (Ping timeout: 272 seconds) |
10:49:21 | Zevv | yes, it's a known issue, even the compiler itself suffers from that |
10:49:35 | Zevv | if the compiler generates enough diagnostic output 'nim c' hangs |
10:52:57 | leorize | I think you commented on the wrong issue |
10:53:09 | Zevv | oh? |
10:53:41 | leorize | that one is about how not being able to forward stdin causes some program to wait endlessly for input |
10:54:12 | Zevv | oh damn, right, too many tabs |
10:54:48 | Zevv | thanks, fixed |
10:56:35 | Zevv | and 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:05 | Zevv | I 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:12 | FromGitter | <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:13 | krux02 | @mratsim: we have people who want constructors in Nim as well. |
12:56:35 | krux02 | constructors, default values and stuff. |
12:57:30 | FromGitter | <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:15 | FromGitter | <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:24 | disruptek | leorize: sweet, i'd use it! |
13:55:15 | disruptek | leorize: what other line info do you have easy access to at that point in time? |
13:57:36 | disruptek | how 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:34 | leorize | disruptek: what do you mean by line info? |
14:31:23 | disruptek | the line info you have associated with each reference found by your new feature. |
14:31:48 | leorize | I only have line + col + filename :P |
14:32:02 | disruptek | oh, then what else are we choosing from? :-P |
14:32:35 | leorize | not sure if I understood :P |
14:32:47 | leorize | oh and pull nim.nvim, it should have the shiny new outline feature |
14:32:57 | leorize | the mapping is gO |
14:33:19 | disruptek | 04:47 < leorize> do you think I should append any information after that? |
14:33:49 | leorize | ah, I got file + line + col, so I just used that to fetch that line as the text appended |
14:34:23 | leorize | additional info from nimsuggest includes the type of the symbol being referenced, doc comments |
14:34:30 | leorize | nothing useful in particular |
14:34:45 | disruptek | how awesome is it that you can make a new feature and have users testing it seconds later? it always blows my mind. |
14:35:09 | leorize | nimsuggest is super simple to use :) |
14:35:25 | leorize | and I've a really nice communication layer with nimsuggest |
14:35:35 | disruptek | doc 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:52 | leorize | doc comments is of the symbol being referenced |
14:35:53 | disruptek | because that would be cool. |
14:36:25 | disruptek | sure, that's idea, but sometimes it doesn't exist. |
14:36:30 | disruptek | s/idea/ideal/ |
14:37:22 | leorize | I'm going to write a bit of docs for the find references feature then y'all can test that |
14:38:23 | disruptek | what's the outline feature? |
14:38:51 | leorize | give you the list of every symbols declared in the current file |
14:39:01 | leorize | then you can quickly jump to them |
14:39:19 | leorize | shown in the first part of that recording |
14:42:56 | FromGitter | <Riderfighter> Hola my favorite and one gitter channel :) |
14:45:36 | FromGitter | <mratsim> hey |
14:48:44 | leorize | disruptek: just pushed the new feature |
14:49:02 | FromGitter | <Riderfighter> what are you working on leorize? |
14:49:06 | * | shomodj joined #nim |
14:49:07 | leorize | you should bind :NimReferences to a hotkey |
14:49:23 | leorize | @Riderfighter: the nim plugin for neovim |
14:49:34 | FromGitter | <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:43 | luis_ | Are there any tools to convert C code into Nim code? |
14:58:15 | lqdev[m] | c2nim? |
14:58:49 | luis_ | 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:09 | FromGitter | <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:09 | leorize | I think nim.nvim is now feature compatible with vscode-nim |
15:27:30 | leorize | actually it even have semantic highlighting, which vscode-nim doesn't have |
15:29:12 | * | luis_ joined #nim |
15:29:15 | leorize | some further inspection with the neovim's termdebug feature and nim.nvim will beat vscode in debugging by a huge margin |
15:29:33 | FromGitter | <Riderfighter> 😓 |
15:29:50 | FromGitter | <Riderfighter> You wouldn't happen to want to work on the vscode plugin by chance leorize ? :P |
15:30:05 | luis_ | How do I get a string of today's date using the times module? |
15:30:12 | leorize | I'm allergic to js and typescript :) |
15:30:23 | luis_ | now().parse("yyy-MM-dd") does not work |
15:30:29 | leorize | use format |
15:30:36 | leorize | parse is for parsing string |
15:30:51 | luis_ | ok |
15:31:27 | luis_ | it works, thanks |
15:31:50 | leorize | np |
15:32:07 | leorize | @Riderfighter: since you know JS, maybe you can improve that plugin :) |
15:33:09 | leorize | re-writing it in Nim is also possible I think :p |
15:33:22 | FromGitter | <Riderfighter> Oh gosh |
15:33:47 | FromGitter | <Riderfighter> See the thing is, I know js and ts but like I have zero idea how vscode plugins work |
15:35:12 | FromGitter | <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:38 | leorize | probably vscode plugins are simple |
15:35:46 | leorize | I mean I wrote nim.nvim with 1071 LoC |
15:35:58 | leorize | and vimscript is an extremely verbose language |
15:36:10 | FromGitter | <Riderfighter> vscode plugins are mostlikely very cookie cutter |
15:38:52 | FromGitter | <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:56 | FromGitter | <Riderfighter> here is what i'm talking about https://github.com/nim-lang/Nim/issues/11843 |
15:41:16 | leorize | I've taken a brief look at vscode extension api |
15:41:32 | leorize | powerful, but seems daunting to use correctly |
15:42:07 | FromGitter | <Riderfighter> Does this mean you're taking up the honor of making a powerful nim extension? :P |
15:42:19 | leorize | no :P |
15:42:33 | FromGitter | <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:18 | FromGitter | <Riderfighter> i just found this cool note taking app someone is working on https://github.com/bluenote10/Notemarks/ |
15:55:26 | FromGitter | <Riderfighter> from what I see it's pretty solid lol |
15:55:40 | FromGitter | <Riderfighter> karax+electron+typescript |
15:58:59 | luis_ | What is the easiest way to write a line into a file with Nim? newFileStream() and then write()? |
16:01:05 | luis_ | Correction: to create a new file and write a string into it |
16:01:16 | leorize | writeFile() |
16:02:03 | leorize | or let file = open(filename, fmWrite); file.write "string" |
16:06:58 | luis_ | thanks |
16:08:16 | Zevv | leorize! 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:46 | FromGitter | <mratsim> > _> |
16:27:39 | FromGitter | <mratsim> I guess I'll have to start learning neovim, and learn how to open and navigate multiple windows in vim |
16:28:05 | FromGitter | <mratsim> I'm really annoyed at VSCode CPU spikes when it's as hot as in the past week |
16:33:47 | Zevv | is that vscode or nimsuggest burning your electrons? |
16:48:43 | * | xace quit (Ping timeout: 268 seconds) |
16:49:09 | leorize | @mratsim: use some of the vscode-like frontend and you'll be fine |
16:49:24 | leorize | Zevv: lol |
16:49:34 | FromGitter | <mratsim> I think it's both :/ |
16:50:32 | FromGitter | <mratsim> I tried micro and howl as well but they are not for me |
16:51:25 | leorize | https://github.com/neovim/neovim/wiki/Related-projects <- here's a nice list of frontends |
16:51:45 | leorize | or 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:06 | shashlick | @mratsim I'm totally hoping to make feud the goto editor for those fed up with electron based editors |
17:40:22 | FromGitter | <mratsim> feud? |
17:41:28 | kungtotte | https://github.com/genotrance/feud this one? |
17:43:08 | shashlick | Yep |
17:43:26 | shashlick | Nim rocks for such stuff |
17:43:51 | kungtotte | I have two problems with it: It's Windows only and it doesn't have vim keybindings ;) |
17:44:29 | shashlick | Both are solvable since Nim and scintilla are cross platform and key bindings are not a big challenge |
17:45:45 | kungtotte | Before 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:47 | shashlick | I am still a vim guy at heart but I don't like the console response at all |
17:57:11 | Zevv | what is your problem with the console then? |
17:57:12 | shashlick | I used scite quite a bit, recently npp |
17:57:24 | shashlick | Now I use feud full time |
17:57:41 | shashlick | Refresh rate |
17:57:52 | shashlick | Remember I'm on windows |
17:57:57 | Zevv | oh right :( |
17:58:15 | kungtotte | Yeah, neovim is probably not great then. But gVim ran fine for me on Windows |
17:58:40 | kungtotte | And with vim 8 you have a lot of the features that made neovim great (particularly async) |
17:59:13 | Zevv | yeah, I wonder if nim.nvim authors will ever decide to target vim 8 |
17:59:24 | FromGitter | <Riderfighter> This is probably going to be a bad question but, what is the difference between vim and neovim? |
17:59:46 | shashlick | I would especially with the work leorize has put in |
17:59:48 | Zevv | for me the only difference is that leorize supports nvim and not vim :) |
18:00:02 | shashlick | But I started feud and it works very well |
18:00:02 | FromGitter | <Riderfighter> haha |
18:00:22 | shashlick | Nim makes it easy to build performant stuff |
18:00:32 | Zevv | it'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:33 | shashlick | A text editor is a great example |
18:02:55 | FromGitter | <Riderfighter> you know what would be really fun |
18:02:59 | FromGitter | <Riderfighter> a LUA backend haha |
18:02:59 | FromGitter | <Riderfighter> :) |
18:03:17 | Zevv | you can laugh all you want - there used to be a PHP backend |
18:03:28 | shashlick | So I already have a full plugin system so you can write pure Nim extensions |
18:03:35 | FromGitter | <Riderfighter> LOL |
18:03:37 | FromGitter | <Riderfighter> PHP? |
18:03:38 | livcd | shashlick: how do i install it ? |
18:03:48 | shashlick | Just extract zip from releases |
18:03:54 | FromGitter | <Riderfighter> Why was that magnificent backend ever removed Zevv? |
18:04:36 | Zevv | Apr 18 11:40:11 2018 |
18:04:50 | livcd | shashlick: ok |
18:05:19 | livcd | ok 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:58 | shashlick | Ya you need latest winim - I don't know if that ever got fixed |
18:06:36 | livcd | ok |
18:06:40 | shashlick | Actually it is fixed |
18:06:43 | shashlick | https://github.com/khchen/winim/issues/39 |
18:07:01 | shashlick | But there are bugs with 0.20.0+ |
18:07:10 | shashlick | So best to use the compiled binary |
18:07:26 | shashlick | I need to fix latest |
18:07:29 | Zevv | Riderfighter: 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:10 | shashlick | Feud also has nng so you can send it commands from any language that has an nng lib |
18:08:27 | kungtotte | AFAIK 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:25 | livcd | shashlick: would you consider writing an article about how to go about wrapping a C lib ? |
18:11:31 | shashlick | I agree I need to get around to doing that |
18:12:03 | shashlick | But i have tried to put all my learnings into nimterop |
18:13:04 | FromGitter | <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:43 | leorize | kungtotte, Zevv: I've tested nim.nvim on windows :P |
18:25:48 | leorize | and 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:28 | leorize | the only thing that sets nimlsp and this plugin apart is semantic highlighting and a much lighter "protocol" to parse |
18:29:45 | leorize | @Riderfighter: the php backend was removed because no one maintained/used it :p |
18:31:30 | * | jjido joined #nim |
18:33:26 | FromGitter | <Riderfighter> Does anyone know where in nim's code is the backend for lets say js? |
18:33:42 | FromGitter | <Riderfighter> I'm interested in seeing how the backend works :) |
18:34:45 | leorize | compiler/*gen.nim |
18:35:08 | Araq | leorize: actually it got removed in order to make the JS codegen easier to maintain as it was a variant of it |
18:35:14 | FromGitter | <Riderfighter> 👌 thank you leorize |
18:36:35 | FromDiscord_ | <telara{a> Why nim wnath to record my telemetry data? |
18:36:59 | FromDiscord_ | <telara{a> During the inslation |
18:36:59 | FromDiscord_ | <telara{a> https://cdn.discordapp.com/attachments/371759389889003532/605106440809611274/unknown.png |
18:37:36 | leorize | just anonymous data so dom96 would know how many people used choosenim on what |
18:37:49 | leorize | if you say no it means no |
18:37:57 | leorize | source code is available for inspection |
18:39:57 | FromDiscord_ | <telara{a> Cool, thanks |
18:40:55 | leorize | Araq: what do `mod` and `dus` commands in nimsuggest do? |
18:41:18 | leorize | I've tried to throw a bunch of things at them and got nothing back |
18:42:02 | Araq | I don't remember what 'mod' does, something like "this file was modified" (used for testing?) |
18:42:14 | Araq | 'dus' is one of Araq's innovations |
18:42:24 | Araq | it's "definition or usage" |
18:42:58 | Araq | if 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:28 | leorize | the funny thing is that I get the same answers from `dus` vs `use` regardless of context :P |
18:45:41 | leorize | it gives me a `def` then a series of `use` |
18:45:58 | Araq | I think I later changed my mind :P |
18:46:06 | Araq | and just give out everything |
18:47:07 | livcd | telara{a: to give you beautifully crafted ads |
18:47:23 | Zevv | Riderfighter: making a lua backend would be an interesting excersise, but then you'd have to maintain it :) |
18:50:34 | leorize | the only piece of nimsuggest unused by nim.nvim is `chk` |
18:50:50 | leorize | don't know if I should attempt it |
18:57:23 | lqdev[m] | how does nim handle automatic semicolon insertion? |
18:58:12 | disruptek | pretty fast; definitely a good idea to wear heavy gloves and safety glasses. |
18:58:33 | leorize | lqdev[m]: what automatic semicolon insertion? |
18:58:54 | lqdev[m] | leorize: I mean the fact that you don't need explicit semicolons after statements |
18:59:37 | leorize | I'd say the rules are simple: no line continuing characters, then newline |
19:00:05 | leorize | probably not that simple in implementation |
19:07:06 | lqdev[m] | I'm asking because I'm wondering about how I could implement that in rod |
19:07:39 | lqdev[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:47 | leorize | I think it's different with Nim |
19:16:08 | leorize | the parser don't insert semicolons afaict |
19:34:23 | * | luis_ joined #nim |
19:34:50 | luis_ | So echo always adds a newline after the text? |
19:35:03 | luis_ | 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:54 | solitudesf | stdout.write |
19:40:07 | luis_ | 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:30 | FromGitter | <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:41 | FromGitter | <alehander42> lqdev, you just dont need semicolon |
20:09:51 | FromGitter | <alehander42> newline is just the separator i guess |
20:09:58 | FromGitter | <alehander42> at least when i wrote parsers |
20:10:11 | lqdev[m] | 🤔 |
20:10:13 | FromGitter | <alehander42> thats what i did, but i might've wrote them in a strange way |
20:10:18 | FromGitter | <alehander42> i mean |
20:10:31 | FromGitter | <alehander42> you dont need a semicolon naturally |
20:10:39 | FromGitter | <alehander42> its an artificial thing |
20:11:37 | FromGitter | <alehander42> but my stuff usually has only one expression/statement on line, so never really thought of the other case |
20:12:24 | FromGitter | <Riderfighter> Hello alehander42 :D |
20:12:41 | FromGitter | <alehander42> oh hello :PO |
20:13:11 | FromGitter | <Riderfighter> Zevv: tbh I'm considering trying to attempt a LUA backend just to see how it works |
20:13:25 | FromGitter | <Riderfighter> or even a python backend while we're at it, might as well dream big :) |
20:14:03 | FromGitter | <alehander42> i've also thought of a python backend |
20:14:12 | * | jjido joined #nim |
20:14:16 | FromGitter | <alehander42> as it would let me write python code for many scripting env-s e.g. gdb blender |
20:14:18 | FromGitter | <alehander42> and others |
20:14:19 | FromGitter | <alehander42> in nim |
20:14:45 | FromGitter | <Riderfighter> a python backend could be fun to be honest |
20:15:11 | FromGitter | <Riderfighter> since it should be fairly straight forward to group structs and their procedures into a class |
20:15:16 | FromGitter | <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:33 | FromGitter | <alehander42> eehh not sure |
20:15:41 | FromGitter | <alehander42> becuase you might have methods in different files |
20:15:54 | FromGitter | <alehander42> iirc but it should be possible |
20:16:25 | FromGitter | <alehander42> but just in case, if anyone attempts that: first a rfc, because its very possible to not be included |
20:17:02 | FromGitter | <Riderfighter> psh |
20:17:13 | FromGitter | <Riderfighter> do a pull request out of the blue and pray it gets accepted |
20:19:04 | FromGitter | <Riderfighter> a golang backend would be fun too |
20:21:16 | FromGitter | <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:35 | Zevv | Riderfighter: copy jsgen, jstypes and jssym to luagen, luatypes and luagen |
20:22:06 | FromGitter | <Riderfighter> thinking big, I like that :) |
20:22:09 | Zevv | go through main, options and platform and copy the appropriate js stuff for lua and add a bunch of ifs |
20:22:38 | Zevv | and then adjust the lua* files to emit lua code instead of js |
20:23:42 | * | absolutejam4 joined #nim |
20:23:46 | FromGitter | <Riderfighter> that sounds like a plan ! |
20:27:29 | FromGitter | <alehander42> Zevv thats whyat i meant |
20:27:31 | FromGitter | <alehander42> dont do that! |
20:27:44 | FromGitter | <alehander42> because there is a lot of when defined(js) thru the compiler and libs |
20:28:13 | FromGitter | <alehander42> and you wouldnt want to see that triple |
20:28:49 | FromGitter | <alehander42> one needs to do that, but also try to generalize/abstract/reuse some stuff into a dynamic-backend common place |
20:29:51 | FromGitter | <Riderfighter> ugh im so pooped right now |
20:30:13 | FromGitter | <Riderfighter> my internet is so slow right now I can't npm download electron lol |
20:30:24 | FromGitter | <arnetheduck> @Riderfighter just join the low level dark side: https://github.com/arnetheduck/nlvm |
20:30:29 | FromGitter | <alehander42> what i mean is do what zevv says, but with a little bit more abstraction |
20:30:32 | FromGitter | <alehander42> sorry guys! |
20:30:42 | FromGitter | <alehander42> but first do a rfc :P |
20:30:53 | FromGitter | <Riderfighter> what is an rfc used for specifically? |
20:31:17 | FromGitter | <alehander42> radical new features! |
20:31:42 | * | luis__ joined #nim |
20:32:11 | FromGitter | <Riderfighter> RFC = Radical Feature Club :D |
20:32:41 | FromGitter | <Riderfighter> @arnetheduck time to check out the low level dark once the page stops loading from top to bottom |
20:32:56 | FromGitter | <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:24 | FromGitter | <Riderfighter> do you guys ever feel like a radical coder and use {.emit.} in places where you aren't supposed to? |
20:40:06 | Zevv | it's my code and I'll .emit. when I want to |
20:40:52 | Zevv | you 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:12 | FromGitter | <Riderfighter> yes |
20:42:36 | FromGitter | <Riderfighter> .emit. makes me feel like a .emit. |
20:45:54 | shashlick | @mratsim I've not played with howl but I'll check it out |
20:45:57 | * | clyybber joined #nim |
20:46:21 | shashlick | My goal is gui performance with cli interface |
20:47:56 | FromGitter | <mratsim> I use emit when I can't do otherwise: either for specific OpenMP constructs or for interpolating OpenCL/Cuda. |
20:48:50 | FromGitter | <mratsim> I also use it when I want C array with runtime size :P |
20:48:55 | FromGitter | <Riderfighter> haha :) |
20:49:05 | FromGitter | <Riderfighter> that's pretty great |
20:49:39 | FromGitter | <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:05 | FromGitter | <mratsim> I'm pretty sure it's laziness |
20:50:12 | * | Skaruts joined #nim |
20:50:12 | * | PrimHelios joined #nim |
20:50:22 | FromGitter | <Riderfighter> i hope so |
20:50:38 | FromGitter | <Riderfighter> there is only a singular semicolon in that emit haah |
20:52:08 | disruptek | weight-savings. |
20:53:57 | FromGitter | <Riderfighter> does anyone know of any lightweight js/css/html engines? |
20:54:09 | disruptek | spectre? |
20:54:23 | FromGitter | <Riderfighter> I'll check that out, thank you! |
20:57:39 | FromGitter | <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:40 | disruptek | oh, spectre is just a simple css framework. i misunderstood. |
20:59:02 | disruptek | i don't know anything like electron but lightweight. kinda an oxymoron. |
20:59:58 | FromGitter | <Riderfighter> Its most definitely an oxymoron, Electron is thicc at best |
21:00:14 | * | absolutejam4 quit (Quit: WeeChat 2.5) |
21:01:15 | FromGitter | <Riderfighter> I'm interested in other Electron-like programs which might run a nim created program |
21:02:34 | FromGitter | <Riderfighter> I'll look into them on my own time though, it'll be fun for me ! |
21:04:31 | FromGitter | <Riderfighter> Alrighty guys I'm going to head out, enjoy the rest of your day/night :D |
21:08:14 | disruptek | peace 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:01 | clyybber | Araq: How should sink int behave? |
21:29:06 | clyybber | Just 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:22 | shashlick | @mratsim looks like howl has similar goals, I'll look into it further |
21:57:37 | shashlick | But 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:17 | shashlick | I just wish I could put more time into it |
21:58:44 | * | Vladar quit (Remote host closed the connection) |
21:59:50 | FromGitter | <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:08 | FromGitter | <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:44 | FromGitter | <mratsim> @clyybber, it prevents you from reusing the same variable in the future |
22:02:00 | * | jmiven quit (Quit: reboot) |
22:03:03 | shashlick | Besides the plugin loading infrastructure, everything else in feud is a separate dll |
22:03:31 | shashlick | So the gui, nng remote, file loading, etc is all a plugin |
22:03:33 | FromGitter | <Varriount> Hello! How is everything going? |
22:03:53 | shashlick | So 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:37 | FromGitter | <Varriount> @mratsim Don't popular versions of Lua also have sandboxing features, such as filesystem and memory limiting? |
22:08:29 | FromGitter | <mratsim> ah interesting @shashlick, a working example of plugin-based Nim rpject would be excellent |
22:09:20 | FromGitter | <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:15 | FromGitter | <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:32 | FromGitter | <mratsim> The strongest open-source go bot in 2015 was in Lua: https://github.com/facebookresearch/darkforestGo |
22:15:27 | shashlick | Rpject? |
22:15:55 | shashlick | I guess you mean project |
22:16:04 | shashlick | Feud 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:29 | clyybber | mratsim: 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:22 | clyybber | The 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:50 | clyybber | But in hindsight it's actually pretty clear we should not |
22:34:55 | clyybber | bbl |
22:34:55 | * | clyybber quit (Quit: WeeChat 2.5) |
22:35:14 | FromGitter | <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:43 | FromGitter | <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:53 | carkh | hi, 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:03 | carkh | the experience doing it with nim was pretty good so far |
23:18:11 | carkh | and it works perfectly on windows at least |
23:18:45 | carkh | one can quit the java process with ctrl-Z or ctrl-c |
23:18:53 | carkh | and it's opening sockets |
23:19:33 | carkh | but when i do this on linux, both processes remain there, that is my nim program and the java process |
23:19:42 | carkh | i think they call that zombie processes |
23:20:19 | carkh | my experience on linux is spotty at best |
23:21:19 | carkh | i use startprocess in the nim source, without poevalcommand |
23:21:38 | FromGitter | <kayabaNerve> @Riderfighter Webview |
23:21:42 | carkh | taking care of waiting for its exit and closing the process afterwards |
23:22:06 | carkh | any 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:55 | carkh | what 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:14 | carkh | in a portable way >< |