00:22:59 | * | leorize joined #nim |
01:05:30 | * | smitop quit (Quit: Connection closed for inactivity) |
01:05:58 | * | zachk quit (Quit: Leaving) |
01:54:25 | * | chimez joined #nim |
01:55:01 | * | rnrwashere quit (Remote host closed the connection) |
01:55:19 | * | rnrwashere joined #nim |
02:02:44 | * | stefanos82 quit (Remote host closed the connection) |
02:06:39 | * | a_b_m quit (Quit: Leaving) |
02:17:50 | FromDiscord | <Boom> Is there a way to run nim check with thread support through nim suggest? Something like `nim check --threads:on`. |
02:23:13 | * | ng0_ joined #nim |
02:23:40 | * | Marumoto joined #nim |
02:26:15 | * | Marumto quit (Ping timeout: 246 seconds) |
02:26:35 | * | ng0 quit (Ping timeout: 256 seconds) |
02:35:48 | * | rnrwashere quit (Remote host closed the connection) |
02:40:36 | * | rnrwashere joined #nim |
02:45:46 | * | Tyresc quit (Quit: WeeChat 2.4-dev) |
03:02:31 | * | banc quit (Quit: Bye) |
03:16:01 | * | dddddd quit (Remote host closed the connection) |
03:19:44 | * | rockcavera quit (Remote host closed the connection) |
03:20:21 | * | rockcavera joined #nim |
03:24:10 | * | banc joined #nim |
03:31:32 | * | chimez quit (Quit: chimez) |
03:53:24 | * | Snircle quit (Quit: Textual IRC Client: www.textualapp.com) |
03:58:48 | * | noeontheend quit (Ping timeout: 245 seconds) |
04:03:29 | * | nsf joined #nim |
04:22:16 | * | rnrwashere quit (Remote host closed the connection) |
04:23:47 | * | rnrwashere joined #nim |
05:08:16 | * | leorize quit (Quit: WeeChat 2.3) |
05:15:28 | * | nif_ quit (Read error: Connection reset by peer) |
05:16:38 | * | nif joined #nim |
05:55:26 | * | narimiran joined #nim |
06:39:50 | * | sealmove joined #nim |
06:53:14 | * | oculux quit (Ping timeout: 268 seconds) |
07:16:05 | * | rnrwashere quit (Remote host closed the connection) |
07:20:26 | * | krux02 joined #nim |
07:28:15 | * | leorize joined #nim |
07:51:42 | * | sealmove quit (Quit: WeeChat 2.3) |
07:52:01 | * | sealmove joined #nim |
08:00:00 | * | gmpreussner quit (Quit: kthxbye) |
08:02:31 | * | chimez joined #nim |
08:04:56 | * | gmpreussner joined #nim |
08:05:04 | * | Vladar joined #nim |
08:06:13 | * | chimez quit (Client Quit) |
08:26:57 | * | PMunch joined #nim |
08:32:18 | * | oculux joined #nim |
08:59:16 | sealmove | guys are you aware of xonsh? |
08:59:44 | sealmove | https://xon.sh/index.html |
09:03:42 | * | kapil____ joined #nim |
09:03:46 | PMunch | Certainly interesting |
09:03:53 | PMunch | Is that what you want to do in Nim? |
09:04:04 | * | chimez joined #nim |
09:05:01 | * | chimez quit (Client Quit) |
09:07:28 | Araq | interesting |
09:07:43 | sealmove | I want to make Nim more viable for scripting since that's the only thing "missing". |
09:08:09 | sealmove | But how to compete with that...? |
09:10:02 | Araq | write a REPL loop around the Nimscript API |
09:10:17 | Araq | and have a single, simple rule like: |
09:10:31 | Araq | a b c path/with/slash |
09:10:34 | Araq | is turned into |
09:10:51 | Araq | a(b, c, "path/with/slash") |
09:11:06 | Araq | # Nim syntax, obviously. |
09:12:14 | sealmove | yesterday I was considering how/if to use operators for common shell tasks like putEnv, getEnv and execCmd, but I couldn't come up with nice syntax. |
09:15:00 | Araq | I don't think putEnv and getEnv are that frequent |
09:15:11 | Araq | but execCmd needs short-cut |
09:15:33 | sealmove | how about `\`? for example \ls |
09:16:49 | sealmove | i wonder if it's possible to evaluate the identifier and figure out if it's a command, and then be able to just write ls |
09:21:11 | Araq | it is possible but hard and gets messy, better is |
09:21:28 | Araq | proc ls(args: openArray[string]) = exec "ls", args |
09:21:49 | Araq | and do that for the about 20 commands that people actually use |
09:22:02 | sealmove | yeah that's an idea |
09:23:37 | Araq | and for execCmd I would use '#' because it's easy to type on German keyboards |
09:23:45 | Araq | #gcc -o file stuff |
09:24:23 | Araq | would do exec "gcc -o file stuff" # do no parsing in this line |
09:24:45 | Araq | if I need backticks etc I can use the non-# Nim mode like |
09:25:03 | Araq | execCmd("gcc", myVariable, "args") |
09:25:48 | sealmove | oh nice |
09:26:11 | sealmove | `#` is overloadable? I didn't even consider it |
09:27:02 | Araq | it's not, in your REPL you special case line[0] == '#' |
09:27:09 | sealmove | i see |
09:30:41 | sealmove | thing to watch out for is not turning it into a special language. ideally it should be a superset of Nim |
09:31:14 | sealmove | normal Nim with extra shortcuts for common scripting stuff |
09:34:18 | sealmove | and the big one is how to make piping (|) work |
09:35:12 | PMunch | Yeah pipes are the bread and butter of the shell |
09:35:42 | FromGitter | <kayabaNerve> Nim has a preprocessor sealmove |
09:36:01 | FromGitter | <kayabaNerve> I'm trying to find the docs; I've only ever seen it to replace tabs with spaces though |
09:36:26 | FromGitter | <kayabaNerve> It used to be #!, is now #?, doesn't need to be imported, but has its own doc page. It allows you to call a function over the entire file. |
09:36:40 | FromGitter | <kayabaNerve> https://nim-lang.org/docs/filters.html |
09:36:44 | FromGitter | <kayabaNerve> This ^^ |
09:37:17 | PMunch | Oh yeah, that could definitely help for this |
09:37:25 | sealmove | great! |
09:37:27 | PMunch | But aren't they deprecated? |
09:37:45 | FromGitter | <kayabaNerve> Aw. Just saw they only work with three provided filters. |
09:37:56 | FromGitter | <kayabaNerve> You can't use any function you want. |
09:38:16 | FromGitter | <kayabaNerve> So I think the work around is a two line filter-decl at the top that just wraps the entire file in a macro |
09:38:32 | FromGitter | <kayabaNerve> So you save a 2/4 space ident with a trade off of two lines at the top of the file to enable it. |
09:38:54 | FromGitter | <kayabaNerve> PMunch: I don't think they are officially, but I think they aren't officially because no one remembered too lol |
09:40:06 | FromGitter | <kayabaNerve> I don't see any comments about deprecation and these docs aren't dated 0.12.0, but I don't think anyone recommends using it tbh. I also haven't seen any updates or changes in a few versions. |
09:40:41 | FromGitter | <kayabaNerve> sealmove: You may be able to replace the multi-line filter decl with a single include statement. IDK. You'd have to play around. I hope I helped. |
09:41:51 | sealmove | thanks kayabaNerve, I'll see if it's useful. for completeness's sake, what do we currently have in REPL area? there is nim secret and inim, anything else? |
09:42:19 | FromGitter | <kayabaNerve> Oh. You can write your own filter. I totally messed up when I did a quick glance. Just went back to read a bit more and saw that. |
09:42:46 | FromGitter | <kayabaNerve> `nim secret` isn't a Nim interpreter |
09:42:54 | * | krux02 quit (Remote host closed the connection) |
09:42:57 | FromGitter | <kayabaNerve> *REPL |
09:42:57 | FromGitter | <kayabaNerve> It's a Nimscript REPL |
09:43:08 | FromGitter | <kayabaNerve> Isn't INim a discontinued Nim REPL? |
09:43:21 | sealmove | I don't know, that's why I am asking |
09:45:30 | * | abm joined #nim |
09:45:42 | sealmove | last commit was 4 months ago |
09:45:47 | FromGitter | <kayabaNerve> INim looks to be Nim, not Nimscript, yet it hasn't been pushed too in months. I have no idea if it's version locked at 0.17 or if it'll work with newer compilers and I'd bet my hat it's either buggy or far from complete. ⏎ ⏎ I don't know of any projects in the field except the clang version of Nim, which I only bring up since it's alternative from the Nim compiler (just as an interpreter is also an alternative). |
09:46:16 | FromGitter | <kayabaNerve> Here's the link to that https://github.com/arnetheduck/nlvm |
09:46:33 | FromGitter | <kayabaNerve> Devs a great guy. Here on the Gitter IIRC. |
09:48:13 | sealmove | so essentially what we are discussing is improving nim secret? (or at least make a better version of it) |
09:50:50 | FromGitter | <kayabaNerve> I don't think nim secret is going to move from Nimscript; whether or not Nimscript becomes more capable is a different question. |
09:51:09 | FromGitter | <kayabaNerve> So I'd work from INim |
09:51:28 | sealmove | so you suggest Nim over NimScript |
09:51:52 | sealmove | why? |
09:52:33 | FromGitter | <kayabaNerve> Nim is Nim |
09:52:38 | FromGitter | <kayabaNerve> Nimscript isn't Nim |
09:53:14 | FromGitter | <kayabaNerve> You asked about Nim REPLs. I don't believe nim secret is ever meant to be a Nim REPL; just a Nimscript REPL. If you want a Nim REPL... |
09:54:24 | FromGitter | <kayabaNerve> Nimscript may be expanded to the point where it doesn't matter/Nimscript may become interpreted Nim... but I don't believe Nimscript is meant to be full Nim either. |
09:54:35 | sealmove | if you read above, Araq first suggest "a REPL loop around the Nimscript API" |
09:55:08 | FromGitter | <kayabaNerve> Yeah I wasn't there for that :P Sorry. |
09:55:19 | sealmove | np :P just thinking out-loud |
09:55:44 | FromGitter | <kayabaNerve> For that, Nim secret would be your starting point |
09:56:44 | sealmove | yeah, can't decide... but I think the work will be applicable in both direction, so maybe it doesn't really matter. I could make 2 versions, one where code is compiled and other where Nimscript interpreter is invoked |
10:01:01 | Araq | a Nim REPL is not the same as a shell |
10:01:19 | Araq | you can use Nim for a shell and if you wanna do that, I described how I would do it |
10:02:37 | FromGitter | <kayabaNerve> I honestly only read a couple of messages from before I got here :P Sorry if I obscured the convo or derailed it with irrelevant info. |
10:02:51 | Araq | don't worry |
10:03:07 | Araq | but please don't use source code filters :P |
10:03:20 | Araq | totally different technique, not applicable |
10:03:22 | sealmove | Araq, xonsh is both a Python REPL and a shell, but of course I am strechting too much here |
10:04:49 | FromGitter | <kayabaNerve> I suggested that as a preprocessor; combine a SCF with a full file macro? |
10:05:26 | FromGitter | <kayabaNerve> (with that macro installed by the filter) |
10:05:42 | FromGitter | <kayabaNerve> That said, are SCFs supposed to be deprecated |
10:05:55 | FromGitter | <kayabaNerve> *? They don't seem to be. |
10:08:55 | Araq | they are not but they are in feature-freeze mode |
10:09:01 | Araq | no new filters |
10:09:37 | narimiran | imma let you finish, but guys, please enjoy this historic moment (which might not last long): we are down to "just" 50 pages of open issues :D |
10:12:11 | Araq | :D |
10:14:14 | FromGitter | <mratsim> wait i’m gonna find some new static, ranges, generic, macros issues |
10:14:33 | * | narimiran grabs a screenshot for a long-lasting memory |
10:22:38 | Araq | mratsim: If the compiler doesn't crash, it's adheres to the spec :P |
10:23:05 | Araq | and the spec needs have a rule "if otherwise unspecified, the compiler is always right" |
10:23:11 | Araq | XD |
10:23:15 | FromGitter | <mratsim> generics and static tends to crash the compilers though :p |
10:23:29 | FromGitter | <mratsim> and a variable geometry spec is not a spec ;) |
10:25:25 | Araq | a spec is about what it enables, trust rich hickey |
10:26:41 | FromGitter | <mratsim> hopefully it also prevents bugs ;) |
10:27:34 | Araq | nah... |
10:28:10 | Araq | you edit the code until it compiles, you restart the program when it crashes |
10:29:08 | Araq | when you get non-sensical output you go out and enjoy the sun, life is good |
10:29:39 | * | narimiran decides to go out and enjoy the sun :) |
10:30:05 | FromGitter | <mratsim> I tried that when I learned Rust |
10:30:24 | FromGitter | <mratsim> try everything until the compiler stops complaining |
10:30:34 | FromGitter | <mratsim> I also tried that with static 2 years ago :p |
10:30:36 | narimiran | you never came back and got some serious sunburns? |
10:30:42 | FromGitter | <mratsim> yeah :p |
10:31:58 | Araq | happened to me 5 minutes ago |
10:32:06 | Araq | git decides to garbage collect |
10:32:15 | Araq | cannot unlik file, retry? y |
10:32:17 | Araq | cannot unlik file, retry? y |
10:32:25 | Araq | then I killed it and restarted, works |
10:33:02 | FromGitter | <mratsim> it happens to me everytime I use windows on Status repo |
10:33:07 | Araq | I wasn't aware that 'unlinking' is a thing on Windows, but *shrug* |
10:33:16 | FromGitter | <mratsim> nimsuggest just chokes on a file and never releases its lock |
10:33:31 | Araq | that's the way. |
10:33:51 | Araq | no idea why it would have a lock, it uses readonly mode |
10:34:08 | FromGitter | <mratsim> when a file is in use on windows it’s locked |
10:34:57 | FromGitter | <mratsim> was fun on Excel files on shared filesystems :P, you had to track down people at lunch so that they close the file |
10:35:25 | * | dom96_w joined #nim |
10:35:25 | narimiran | lunch driven development :D |
10:37:21 | Araq | why does it open in exclusive mode, I don't understand. libc problem? |
10:40:15 | FromGitter | <mratsim> windows problem |
10:40:34 | FromGitter | <mratsim> something about file handle I think |
10:40:39 | Araq | afaik you can open in "shared" mode but we don't |
10:40:58 | Araq | and fopen has no "shared" flag, so libc problem |
10:43:55 | FromGitter | <kayabaNerve> There's actually a bug on Windows about this |
10:44:17 | FromGitter | <kayabaNerve> If you try to open the MFT really fast, you can lock yuour filesystem |
10:44:34 | Araq | DWORD dwShareMode |
10:44:39 | Araq | https://docs.microsoft.com/en-us/windows/desktop/api/fileapi/nf-fileapi-createfilea |
10:44:49 | FromGitter | <kayabaNerve> (master file table; works on Windows 10 but may be patched in the most recent versions) |
10:45:00 | Araq | with io.nim out of system.nim we could use the Windows API directly |
10:45:23 | FromGitter | <kayabaNerve> Also, I don't think it's speed versus just repeated attempts (1/10?). |
10:45:37 | FromGitter | <mratsim> https://stackoverflow.com/questions/196897/locking-executing-files-windows-does-linux-doesnt-why and https://en.wikipedia.org/wiki/File_locking#In_Microsoft_Windows |
10:51:23 | Araq | ah yeah, nice answers here. You can update without restarts, nice. And then the old process keeps running, unpatched for weeks and months. |
10:52:02 | Araq | good thing Unix isn't used for servers. |
10:52:02 | FromGitter | <mratsim> I wonder what happened to this “splice” update that red hat wanted for the linux kernel |
10:58:15 | FromGitter | <kayabaNerve> If I have a cstring, convert it to a string using $, and then modify said string, is there ever a chance the cstring will be modified? |
10:59:02 | Araq | no. |
10:59:07 | FromGitter | <kayabaNerve> Thanks. |
11:07:24 | * | rnrwashere joined #nim |
11:07:33 | * | rnrwashere quit (Remote host closed the connection) |
11:09:03 | federico3 | mratsim: ksplice and kpatch are both used in production but the address a small niche |
11:09:26 | Araq | oh the joys of dependencies. strutils imports algorithm.reverse for rsplit |
11:09:56 | FromGitter | <mratsim> rebooting a server takes hours sometimes and scheduling that during the day is not possible and during the weekend quite costly, and big companies have hundreds of those |
11:10:12 | FromGitter | <mratsim> so I think it’s quite a big niche. |
11:10:16 | federico3 | not really |
11:11:54 | federico3 | I can give you details but we are offtopic here |
11:27:36 | * | sealmove left #nim ("WeeChat 2.3") |
11:32:04 | * | neceve joined #nim |
11:43:51 | FromGitter | <mratsim> yeah 0.20 is coming: https://github.com/nim-lang/Nim/commit/7e404c670d5ff55f4316b2ae0a6749161c4bb47d |
11:50:48 | Zevv | vapourware! |
11:51:05 | * | napalu joined #nim |
11:51:27 | Araq | Zevv, since you complained before, what should the focus be on instead? |
11:51:34 | Zevv | I'm not complaining :) |
11:52:42 | * | kapil____ quit (Quit: Connection closed for inactivity) |
11:54:00 | Zevv | I'm just trolling, and pretty happy with what Nim is offering at this time. I think the documentation work being done is a great step forward and imho the most important for wider adoption. |
11:55:27 | * | stefanos82 joined #nim |
11:56:14 | Zevv | apologies for the seemingly negative outburst |
11:56:38 | * | napalu left #nim ("Konversation terminated!") |
11:56:50 | Araq | no offense taken |
11:57:46 | Araq | uh oh |
11:57:48 | Araq | ..\system.nim(2564, 18) template/generic instantiation of `seqToPtr` from here |
11:57:48 | Araq | ..\system.nim(2562, 18) Error: expression cannot be cast to pointer |
11:58:03 | Araq | and the compiler is right, this cast cannot work |
11:59:40 | FromDiscord | <juan_carlos> Work on Docs is awesome. |
12:00:54 | * | narimiran blushes |
12:05:19 | * | nsf quit (Quit: WeeChat 2.3) |
12:20:43 | * | chimez joined #nim |
12:22:03 | * | neceve quit (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.) |
12:22:17 | * | dddddd joined #nim |
12:22:26 | * | neceve joined #nim |
12:23:08 | * | lritter joined #nim |
12:23:44 | * | sealmove joined #nim |
12:27:30 | * | Snircle joined #nim |
12:33:48 | * | napalu joined #nim |
12:34:50 | sealmove | is rdstdin standard? |
12:37:41 | napalu | depends what you mean by standard - it's part of the standard library and will work on windows and unix-likes |
12:37:59 | napalu | (as far as I know) ;) |
12:39:52 | sealmove | good |
12:40:08 | napalu | what are you using it for? |
12:41:54 | napalu | asking because if you're looking to read passwords from stdin you should be using the terminal module |
12:42:29 | sealmove | erm, a shell. also curious for how to intercept keys, for example up-arrow for cycling through history |
12:42:55 | napalu | ah okies then doesn't apply |
12:44:51 | * | chimez quit (Quit: chimez) |
12:45:48 | * | dom96_w quit (Quit: My MacBook has gone to sleep. ZZZzzz…) |
12:48:03 | * | ng0_ is now known as ng0 |
12:51:36 | FromGitter | <SolitudeSF> you might wanna use existing line reading solutions like https://github.com/jangko/nim-noise https://github.com/surf1nb1rd/nim-prompt |
12:56:43 | sealmove | oh great |
13:10:18 | * | napalu left #nim (#nim) |
13:37:22 | * | aguspiza joined #nim |
13:41:03 | * | dom96_w joined #nim |
13:43:08 | Zevv | Why is it that macros use nnk instead of nk kinds? |
13:44:40 | Zevv | I mean, NimNodeKind vs TNodeKind |
13:44:42 | FromGitter | <mratsim> nimnodekind |
13:45:01 | FromGitter | <mratsim> tnode are in the compilers? |
13:45:53 | Zevv | yeah, but wy is TNodeKind not simply exposed? Is that to make sure the macros api can be kept stable if the internals ever change? At this time I believe there's a one-to-one mapping between those kinds? |
13:46:20 | * | Zevv is missing something obvious, probably |
13:46:36 | Araq | exactly |
13:46:50 | Araq | the internals can change |
13:46:52 | Zevv | exactly on the stable api, or exactly on the missing something obvious :) |
13:47:07 | Araq | there is also a historical reason: |
13:47:25 | Araq | I didn't even know if I can implement the macro system |
13:47:30 | FromGitter | <kaushalmodi> Can the deprecation warnings be made errors? |
13:47:34 | FromGitter | <kaushalmodi> like a "strict" mode? |
13:47:52 | Zevv | well araq, seems you can :) |
13:47:54 | Araq | so the code duplication didn't bother me, nor was the macros API designed much |
13:48:07 | FromGitter | <kaushalmodi> I have hundreds of code blocks in my notes and I can batch eval all at once. I can easily catch errors in those, but the deprecation warnings don' |
13:48:18 | FromGitter | <kaushalmodi> *don't as they don't go to stderr |
13:48:40 | FromGitter | <kaushalmodi> Araq: I know that you are not a fan of stderr :) But that is great utility for me .. |
13:48:43 | Zevv | thanks, makes perfect sense |
13:49:10 | FromGitter | <kaushalmodi> so only if there's a way to make the deprecation warnings go to stderr based on a switch, I can make my notes better |
13:49:27 | Araq | kaushalmodi: there is a switch for this |
13:49:32 | FromGitter | <kaushalmodi> yay! |
13:49:37 | FromGitter | <kaushalmodi> what is it? |
13:50:22 | FromGitter | <kaushalmodi> I tried `nim --fullhelp | rg dep` |
13:51:02 | FromGitter | <kaushalmodi> hmm, there is `--warning[X]:on|off turn specific warning X on|off` |
13:51:28 | FromGitter | <kaushalmodi> but turning off a warning makes it go away completely or makes it an error? |
13:51:29 | FromGitter | <kaushalmodi> :) |
13:52:04 | Araq | --stdout:off |
13:52:09 | Araq | no guarantees though |
13:52:43 | FromGitter | <kaushalmodi> but I need to just upgrade deprecation warnings to errors |
13:53:08 | FromGitter | <kaushalmodi> stdout:off will send everything to stderr, not what I want |
13:53:36 | narimiran | do we finally have somebody who doesn't just ignore these deprecation warnings until is too late? wow! |
13:54:01 | FromGitter | <kaushalmodi> I am OCD about warnings |
13:54:10 | FromGitter | <kaushalmodi> I am a verification engineer by profession :P |
13:54:18 | FromGitter | <kaushalmodi> warnings are errors |
13:54:43 | * | sz0 joined #nim |
13:54:50 | sealmove | Is it possible to execute a string as Nim code inside Nim (without opening new process)? |
13:54:55 | FromGitter | <kaushalmodi> I know that lc has been deprecated and need to update my notes about that |
13:55:10 | FromGitter | <kaushalmodi> but now I wonder what else from my snippets has been deprecated so far |
13:55:19 | Araq | nil strings? |
13:55:41 | FromGitter | <kaushalmodi> well, those are easy to fix, and also fixed :) |
13:56:13 | sealmove | string containing Nim code (taken from stdin in this case) |
13:56:47 | FromGitter | <kaushalmodi> Araq: I am looking for fixing my notes even for small things |
13:56:59 | FromGitter | <kaushalmodi> recently I was pleasantly surprised to see this fixed: https://scripter.co/notes/nim/#randomize--0--disables-randomization |
13:57:01 | narimiran | i've removed lots of stuff which was deprecated long time ago. if your snippets still work, that's just a confirmation that you deal with these warnings on time, kudos |
13:57:19 | Araq | well there is no flag to turn warnings into errors, sorry |
13:57:20 | FromGitter | <arnetheduck> lol, so the strategy to not have deprecation warnings apparently is to not put deprecated pragmas, even if in principle the stuff should be deprecated because it was a bad idea (https://github.com/nim-lang/Nim/pull/9029#pullrequestreview-205132339) |
13:57:24 | FromGitter | <kaushalmodi> I had a note "Whether this is intended or not, this behavior is quite odd." and of course that gets fixed few months later :D |
13:57:43 | FromGitter | <kaushalmodi> Araq: may be a flag to upgrade just deprecation warnings to errors? |
13:58:06 | Araq | nor can you redirect warnings-only |
13:58:08 | FromGitter | <kaushalmodi> .. or have `--warning[X]:on|off|err turn specific warning X on|off|err` |
13:58:19 | Araq | ^ that would be nice |
13:58:35 | FromGitter | <kaushalmodi> that is very common in SystemVerilog |
13:58:49 | FromGitter | <kaushalmodi> to upgrade warnings to errors selectively and even demote errors to warnings selectively |
13:58:56 | narimiran | "There is no func used in the compiler or standard library at all. " --> not really true, recently some `func`s were introduced in some PR |
13:59:52 | FromGitter | <kaushalmodi> narimiran: "if your snippets still work, that's just a confirmation that you deal with these warnings on time, kudos" Yep, all snippets work 100% as of yest's devel :D |
14:00:16 | Araq | can these snippets be tested by patching important_packages.nim ? |
14:00:38 | FromGitter | <kaushalmodi> my snippets are inline in an Org file |
14:00:39 | narimiran | Araq: should we then also test rosetta code snippets? |
14:00:57 | FromGitter | <kaushalmodi> need to look for a way to auto-test those .. it's on my "some day" list |
14:01:32 | Araq | if only we had 'nim rst2hml foo.rst' which tests snippets automatically :P |
14:01:35 | FromGitter | <kaushalmodi> for now, once every few weeks I just run a command in Emacs and that updates the results of all snippets and flags if any of those results in error |
14:03:15 | Araq | anyway, --warning[X]:err would be a bit weird, currently we suppress warnings coming from different nimble packages |
14:03:26 | Araq | would that keep that behaviour? |
14:04:23 | FromGitter | <kaushalmodi> > currently we suppress warnings coming from different nimble packages ⏎ ⏎ So if a nimble package has that X warning, it won't upgrade to err? |
14:04:35 | Araq | that is my question |
14:04:54 | FromGitter | <kaushalmodi> I wouldn't know as I don't know the implementation details |
14:05:09 | FromGitter | <kaushalmodi> My guess would be that warnings in nimble packages should still be masked |
14:05:39 | FromGitter | <kaushalmodi> because I can fix warnings in my code, and not be in a position to immediately fix them in 3rd party nim code |
14:05:42 | * | nsf joined #nim |
14:05:51 | Araq | ok, that makes sense |
14:11:32 | * | chimez joined #nim |
14:11:38 | * | chimez quit (Client Quit) |
14:12:18 | * | knack joined #nim |
14:22:53 | FromGitter | <theretromaniac> is there any nim playground? |
14:23:37 | narimiran | i think you could try https://wandbox.org/ |
14:23:45 | * | Marumto joined #nim |
14:25:33 | FromGitter | <theretromaniac> narimiran thank you for quick response. It is perfect |
14:26:17 | * | Marumoto quit (Ping timeout: 255 seconds) |
14:29:30 | * | seni joined #nim |
14:49:17 | narimiran | @kaushalmodi i just remembered something i find very nice, which could break some old code: "Error: invalid else, all cases are already covered" |
14:50:47 | FromGitter | <kaushalmodi> narimiran: hmm, I didn't happen to have such a snippet where I had cases covering 100% of the var space + else |
14:50:55 | FromGitter | <kaushalmodi> But I do remember seeing that commit |
14:51:04 | FromGitter | <mratsim> yep it breaks some code. |
14:51:18 | FromGitter | <kaushalmodi> may be that should be warning? |
14:51:28 | FromGitter | <kaushalmodi> because it doesn't hurt to have a failsafe else |
14:51:36 | FromGitter | <kaushalmodi> it's actually a great coding practise |
14:51:51 | narimiran | but it is not failsafe else |
14:52:28 | narimiran | without it, your `else` could do more damage |
14:52:54 | FromGitter | <kaushalmodi> yes, I can see the issues with mindless elses too |
14:53:20 | FromGitter | <kaushalmodi> but so far, I haven't stumbled across that error :) |
14:54:36 | FromGitter | <kaushalmodi> any stderr out here? |
14:55:16 | FromGitter | <kaushalmodi> I was looking at all the issues I created, and this issue made me remind of unittest not liking stderr: https://github.com/nim-lang/Nim/issues/7913 |
14:55:33 | * | krux02 joined #nim |
14:55:40 | FromGitter | <kaushalmodi> s/any stderr out here?/any stderr *fan* out here? |
14:57:27 | * | kapil____ joined #nim |
15:14:29 | * | arecaceae quit (Remote host closed the connection) |
15:14:47 | * | arecaceae joined #nim |
15:25:49 | federico3 | kaushalmodi: huh? |
15:26:56 | * | PMunch quit (Remote host closed the connection) |
15:31:43 | * | Senketsu quit (Quit: WeeChat 2.3) |
15:32:30 | * | Senketsu joined #nim |
15:32:48 | * | neceve quit (Read error: Connection reset by peer) |
15:36:24 | * | rockcavera quit (Read error: Connection reset by peer) |
15:36:45 | * | rockcavera joined #nim |
15:50:14 | * | noeontheend joined #nim |
15:50:27 | Zevv | stderr fan? |
15:51:30 | Zevv | Oooh, I see the quote: "But in general stdout vs stderr is just another design bug in Unix, deal with it. ;-)" |
15:52:23 | * | azuri5 joined #nim |
16:00:06 | * | rnrwashere joined #nim |
16:15:38 | * | noeontheend quit (Ping timeout: 255 seconds) |
16:21:28 | * | Senketsu quit (Quit: WeeChat 2.3) |
16:21:58 | * | Senketsu joined #nim |
16:26:04 | * | rnrwashere quit (Remote host closed the connection) |
16:28:27 | * | azuri5 quit (Quit: azuri5) |
16:33:13 | * | Snircle quit (Read error: Connection reset by peer) |
16:33:58 | * | Snircle joined #nim |
16:36:54 | * | azuri5 joined #nim |
16:43:34 | sealmove | wow, making a real REPL is involved. iNim just recompiles everytime and just keeps track of what is printed already, so it only prints new stuff. |
16:44:37 | sealmove | where is the source code for nim secret? |
16:46:58 | * | seerix quit (Remote host closed the connection) |
16:48:00 | Araq | that's how iNim works? cool, I had no idea |
16:48:12 | Araq | awesome hack :D |
16:49:00 | * | rnrwashere joined #nim |
16:49:02 | sealmove | yeah >_< cheat |
16:49:33 | * | rnrwashere quit (Remote host closed the connection) |
16:52:20 | sealmove | so can you please point me to the source code of nim secret (just for reference)? |
16:55:18 | * | krux02 quit (Remote host closed the connection) |
16:56:17 | * | rnrwashere joined #nim |
16:56:44 | * | rnrwashere quit (Remote host closed the connection) |
16:57:24 | leorize | sealmove: trace from here: https://github.com/nim-lang/Nim/blob/devel/compiler/main.nim#L315 |
16:59:33 | FromGitter | <mratsim> @sealmove Nim hot code reloading should be merged in March: https://github.com/nim-lang/Nim/issues/8927 |
17:03:27 | sealmove | It seems nim secret is just implemented in main.nim |
17:04:37 | * | azuri5 left #nim (#nim) |
17:11:49 | * | krux02 joined #nim |
17:23:26 | sealmove | I found what I was looking for, will see if it works out, good night guys |
17:23:38 | * | sealmove left #nim ("WeeChat 2.3") |
17:25:22 | * | Trustable joined #nim |
17:25:34 | * | Cthalupa quit (Ping timeout: 250 seconds) |
17:26:25 | * | Cthalupa joined #nim |
17:44:09 | * | rockcavera quit (Remote host closed the connection) |
17:59:39 | FromGitter | <Vindaar> Tried to stealthily pitch Nim today for the successor of my experiment. But of course, as expected, these people want to continue using C++ and ROOT :P |
18:00:09 | * | noeontheend joined #nim |
18:01:48 | * | rockcavera joined #nim |
18:06:29 | * | kapil____ quit (Quit: Connection closed for inactivity) |
18:20:42 | FromGitter | <mratsim> what is ROOT? |
18:20:55 | FromGitter | <mratsim> just generate C++ code :P |
18:41:40 | FromGitter | <Varriount> ROOT is a C++ interpreter, isn't it? |
18:43:41 | FromGitter | <brentp> it's a behemoth from CERN: https://root.cern.ch/ |
18:49:50 | * | zachk joined #nim |
18:50:04 | * | dom96_w quit (Quit: My MacBook has gone to sleep. ZZZzzz…) |
18:50:47 | * | zachk quit (Read error: Connection reset by peer) |
18:51:10 | * | zachk joined #nim |
18:51:40 | * | xet7 quit (Ping timeout: 264 seconds) |
18:52:04 | * | zachk quit (Changing host) |
18:52:04 | * | zachk joined #nim |
18:58:17 | FromGitter | <Vindaar> Sorry, was afk. Yep, this ^. ROOT can also be used as a C++ interpreter, indeed. But to me it's just an ugly DSL for LHC data analysis. And if you don't work on LHC you shouldn't use it |
19:03:47 | * | xet7 joined #nim |
19:16:14 | * | marcazar joined #nim |
19:23:20 | * | rockcavera quit (Remote host closed the connection) |
19:26:30 | * | noeontheend quit (Ping timeout: 246 seconds) |
19:29:45 | Araq | http://iacoma.cs.uiuc.edu/iacoma-papers/pact18.pdf question: how to figure out it was created with LaTex? |
19:31:31 | xace_ | Araq: well it contains metadata: Producer: pdfTeX-1.40.18 |
19:32:05 | Araq | no, it doesn't respect the margin. |
19:33:02 | xace_ | lol, are you telling a joke or is there something im missing out on? in my experisnce latex doesn't always respect the margins, but that's mostly because i dont mind it |
19:33:14 | xace_ | any example of these violations in the document? |
19:33:26 | Araq | scroll through it and you'll see |
19:34:26 | narimiran | `Increment` |
19:34:35 | xace_ | Araq: well I see a indented line overextending, but unless you see the log and source its hard to guess |
19:34:42 | narimiran | xace_: you're speaking with the greatest LaTeX hater i know ;) |
19:34:59 | xace_ | narimiran: yeah i hate it too, but i love it too |
19:36:14 | * | rockcavera joined #nim |
19:36:23 | xace_ | Araq: also not all implementations of these latex producers are perfect, sometimes they render stuff incorrectly, but i find it's mostly related to your pdf viewer too... but in this case, I guess it's safe to say that indentation is incorrect, and was ignoed by the author of the document |
19:36:45 | xace_ | *indented line |
19:39:05 | Araq | I'm also beginning to think this whole "type setting" stuff is pre-scientific like alchemy was. |
19:39:19 | xace_ | in this case the word "increment" seems to carry special properties like it was wrapped in some \textcode{Increment} which doesn't respect line-breaking or word-breaking |
19:39:47 | Araq | Yay, every line has the same width, let's compress the spacing between the letters to achieve it |
19:40:19 | Araq | it looks nicer and that's the same as "easy to read" (Right?!) |
19:40:19 | xace_ | I find it's important... you should see who it looks when it fails... |
19:40:34 | xace_ | how* |
19:42:31 | xace_ | but really in this case it's a a "\monospace{}" or w/e that doesn't implement linebreaking/wordbreaking... Some of my biggest gripes with latex is the compilation speed and weird syntax... But other than that it produces very nice documents |
19:48:18 | * | stefanos82 quit (Remote host closed the connection) |
19:48:19 | * | abm quit (Ping timeout: 246 seconds) |
19:50:42 | shashlick | ever since io.nim, all those procs no longer show up in theindex.html |
19:50:55 | shashlick | see writeFile cannot be found on https://nim-lang.github.io/Nim/theindex.html |
19:52:48 | * | PMunch joined #nim |
19:53:14 | Araq | shashlick: huh |
19:53:33 | Araq | ah system.nim forwards it |
19:53:51 | Araq | no wait kochdocs.nim lists lib/system/io.nim |
19:58:18 | * | abm joined #nim |
20:02:09 | shashlick | https://nim-lang.github.io/Nim/io.html is a 404 |
20:02:22 | shashlick | although the link is in system.html |
20:13:37 | * | PMunch quit (Remote host closed the connection) |
20:13:49 | * | PMunch joined #nim |
20:14:34 | shashlick | What's the general opinion on libmill / libdill? Does it make sense to leverage in Nim world? |
20:15:19 | FromGitter | <Varriount> I think that Araq would prefer not to have C dependencies |
20:16:01 | FromGitter | <Varriount> Someone wrote support for true coroutines in Nim before... Though I don't know if it was ever merged. |
20:16:15 | shashlick | Not in the core language but as a package |
20:17:02 | shashlick | I guess I need to read up about threads vs coroutines |
20:23:01 | FromGitter | <brentp> would be nice to have go-style concurrency. How stable/widely-used are libdill/libmill? |
20:23:52 | Araq | varriount: it was merged |
20:30:10 | * | abm quit (Ping timeout: 244 seconds) |
20:33:33 | * | rnrwashere joined #nim |
20:34:07 | * | rnrwashere quit (Remote host closed the connection) |
20:35:38 | Zevv | Is it possible to overload `=` with a template? |
20:36:35 | * | PMunch quit (Remote host closed the connection) |
20:37:39 | Araq | no |
20:38:11 | Zevv | because of the strict signature (a: var T, b: T)? |
20:38:41 | Zevv | hm no that doesn't make sense, nevermind |
20:48:50 | * | Tyresc joined #nim |
20:49:58 | * | Jesin quit (Quit: Leaving) |
20:53:00 | * | vegax87_ is now known as vegax87 |
20:53:08 | * | vegax87 quit (Changing host) |
20:53:09 | * | vegax87 joined #nim |
20:53:09 | * | vegax87 quit (Changing host) |
20:53:09 | * | vegax87 joined #nim |
20:56:58 | Araq | Zevv: mostly because assignments are already hard enough to implement in the compiler |
21:03:45 | * | Trustable quit (Remote host closed the connection) |
21:10:23 | * | aguspiza quit (Ping timeout: 255 seconds) |
21:16:17 | FromGitter | <Varriount> shashlick: https://nim-lang.org/docs/coro.html |
21:16:20 | * | Jesin joined #nim |
21:17:03 | shashlick | nice |
21:20:33 | * | rnrwashere joined #nim |
21:22:32 | * | vlad1777d quit (Ping timeout: 255 seconds) |
21:22:33 | * | rnrwashe_ joined #nim |
21:23:24 | narimiran | "please enjoy this historic moment (which might not last long): we are down to "just" 50 pages of open issues" |
21:23:31 | narimiran | correction, now is 49 pages |
21:24:13 | narimiran | a simple extrapolation tells us that in 2 months we will have negative number of open issues |
21:25:24 | * | rnrwashere quit (Ping timeout: 272 seconds) |
21:27:18 | * | rnrwashe_ quit (Ping timeout: 272 seconds) |
21:29:07 | * | vlad1777d joined #nim |
21:34:14 | * | rnrwashere joined #nim |
21:38:22 | * | rnrwashere quit (Ping timeout: 244 seconds) |
21:49:33 | * | rnrwashere joined #nim |
21:58:22 | * | rnrwashere quit (Remote host closed the connection) |
21:58:27 | * | noeontheend joined #nim |
21:58:30 | * | rnrwashere joined #nim |
22:06:25 | * | Vladar quit (Remote host closed the connection) |
22:07:11 | Araq | Eureka! |
22:07:33 | * | narimiran quit (Ping timeout: 245 seconds) |
22:08:12 | FromGitter | <mratsim> I was trying to find this joke "what comes after 1, 2, 3, 4" and then you have 2147...... huge number :P |
22:08:20 | FromGitter | <mratsim> but I can't find it anymore :/ |
22:08:40 | Araq | I solved it! |
22:09:19 | * | smitop joined #nim |
22:13:15 | Araq | aww nobody asks |
22:14:21 | shashlick | do tell 🙂 |
22:16:14 | * | ghost64 left #nim ("The Lounge - https://thelounge.github.io") |
22:17:20 | * | rnrwashere quit (Remote host closed the connection) |
22:17:42 | * | rnrwashere joined #nim |
22:18:52 | Araq | shashlick: how to do memory safety without a GC, how Nim's 'ref' works with --gc:destructors and everything else |
22:21:50 | * | rnrwashere quit (Remote host closed the connection) |
22:23:25 | shashlick | wow that will be awesome |
22:23:42 | * | noeontheend quit (Ping timeout: 250 seconds) |
22:24:41 | FromGitter | <mratsim> ooooooohhhhhhhh |
22:24:51 | FromGitter | <mratsim> I sense a disturbance in the force |
22:24:53 | * | rnrwashere joined #nim |
22:26:18 | * | rnrwashere quit (Remote host closed the connection) |
22:26:45 | * | rnrwashere joined #nim |
22:27:17 | FromGitter | <mratsim> so should I wait before going to sleep or all will be revealed tomorrow? |
22:27:26 | * | cozachk joined #nim |
22:29:57 | * | zachk quit (Ping timeout: 268 seconds) |
22:30:57 | * | rnrwashere quit (Ping timeout: 246 seconds) |
22:32:20 | Araq | oh I won't reveal it here. I'll write an RFC/blog post. |
22:32:29 | * | cozachk quit (Quit: Leaving) |
22:36:17 | * | rnrwashere joined #nim |
22:36:26 | * | zachk joined #nim |
22:41:53 | * | rnrwashere quit (Remote host closed the connection) |
22:43:08 | * | rnrwashere joined #nim |
22:48:17 | * | rnrwashere quit (Remote host closed the connection) |
22:49:08 | * | sealmove joined #nim |
22:51:38 | sealmove | Araq: if you are seeing, quick question: is ModuleGraph the only way to handle module, even if it's a single one? |
22:54:04 | * | rnrwashere joined #nim |
22:55:20 | * | jeyr joined #nim |
22:56:09 | Araq | sealmove: if I understand you correctly, the answer is yes. |
22:56:48 | * | jeyr quit (Client Quit) |
22:57:25 | sealmove | thanks for the quick reply, i'll try to understand modulegraphs.nim better tomorrow, gn! |
22:58:23 | * | rnrwashere quit (Ping timeout: 255 seconds) |
22:58:47 | * | rnrwashere joined #nim |
22:59:25 | * | rnrwashere quit (Remote host closed the connection) |
23:02:00 | rayman22201 | Araq loves to tease 😛 |
23:02:23 | rayman22201 | Tease us with features that is |
23:05:24 | * | krux02 quit (Remote host closed the connection) |
23:16:57 | * | rnrwashere joined #nim |
23:17:45 | * | rnrwashere quit (Read error: Connection reset by peer) |
23:18:14 | * | rnrwashere joined #nim |
23:19:33 | * | rnrwashere quit (Read error: Connection reset by peer) |
23:19:40 | FromGitter | <Varriount> Araq: I can't wait. Your blog posts are always so stimulating. |
23:19:46 | * | rnrwashere joined #nim |
23:21:37 | * | leorize quit (Quit: WeeChat 2.3) |
23:22:48 | * | abm joined #nim |
23:26:19 | * | sz0 quit (Quit: Connection closed for inactivity) |
23:29:08 | * | abm quit (Ping timeout: 250 seconds) |
23:30:22 | sealmove | which feature? |
23:30:39 | rayman22201 | "how to do memory safety without a GC, how Nim's 'ref' works with --gc:destructors and everything else" |
23:31:10 | sealmove | is there a new blog post on that? |
23:32:06 | rayman22201 | Araq was teasing that there might be a new one soon. |
23:34:18 | * | abm joined #nim |
23:34:44 | sealmove | I see ^^ |
23:35:08 | sealmove | --gc:destructors? I thought it was --newruntime or something |
23:35:22 | rayman22201 | they are the same thing |
23:56:28 | * | sealmove quit (Quit: WeeChat 2.3) |