00:01:00 | tfff1 | yeah |
00:06:23 | enthus1ast | mhh wss? |
00:06:41 | enthus1ast | so wss://yourserver ? |
00:07:28 | tfff1 | yep |
00:08:44 | enthus1ast | it could also be that the server you trying to connect binds its ssl websocket on another port |
00:14:45 | * | Pisuke joined #nim |
00:18:33 | * | kunev quit (Ping timeout: 268 seconds) |
00:20:18 | * | kunev joined #nim |
00:23:54 | * | tfff1 quit (Quit: Page closed) |
00:24:27 | * | Pisuke quit (Ping timeout: 240 seconds) |
00:30:31 | * | Pisuke joined #nim |
00:47:21 | * | Pisuke quit (Ping timeout: 240 seconds) |
00:53:45 | * | ftsf joined #nim |
01:04:54 | * | vivus quit (Quit: Leaving) |
01:56:01 | FromGitter | <Varriount> Hm, how would I get the "type" of an arbitrary expression in Nim, from a macro. |
02:00:21 | * | max3 joined #nim |
02:38:38 | * | dddddd quit (Read error: Connection reset by peer) |
02:43:49 | * | athenot quit (Read error: Connection reset by peer) |
02:44:21 | * | athenot joined #nim |
03:12:58 | * | xet7 quit (Read error: Connection timed out) |
03:13:36 | * | xet7 joined #nim |
03:17:13 | * | CodeVance quit (Quit: Leaving) |
03:19:14 | * | endragor joined #nim |
03:55:13 | * | Lord_Nightmare quit (Ping timeout: 248 seconds) |
04:00:26 | * | rauss quit (Read error: Connection reset by peer) |
04:02:21 | * | rauss joined #nim |
04:04:06 | * | Lord_Nightmare joined #nim |
04:52:40 | * | darithorn quit (Remote host closed the connection) |
05:31:46 | * | xet7 quit (Read error: Connection timed out) |
05:32:07 | * | xet7 joined #nim |
06:08:31 | * | metaden92[m] joined #nim |
06:17:51 | * | freddy92 is now known as couven92 |
06:19:45 | * | Lord_Nightmare quit (Ping timeout: 248 seconds) |
06:23:14 | * | nsf joined #nim |
06:24:47 | * | Lord_Nightmare joined #nim |
06:35:43 | FromDiscord | <claude> is tfff1 still here |
06:35:54 | FromDiscord | <claude> they needed to do port 443 instead of 80 |
06:39:33 | * | xet7 quit (Read error: Connection timed out) |
06:40:06 | * | xet7 joined #nim |
06:43:01 | FromGitter | <Varriount> Araq: Why is a "var" type expressed as two symbols in an nkBracketExpr node, while a ref type is expressed as it's own node, containing a single symbol? |
06:43:37 | Araq | it should be nnkVarTy |
06:45:28 | * | r3d9u11 joined #nim |
07:10:32 | * | jjido joined #nim |
07:12:31 | * | PMunch joined #nim |
07:20:41 | * | athenot quit (Read error: Connection reset by peer) |
07:20:58 | * | athenot joined #nim |
07:22:48 | * | xet7 quit (Read error: Connection timed out) |
07:23:37 | * | xet7 joined #nim |
07:24:24 | * | jjido quit (Quit: My MacBook has gone to sleep. ZZZzzz…) |
07:35:39 | * | salewski joined #nim |
07:36:54 | salewski | Is there a chance to add Nim to GodBold.org Compiler Explorer? |
07:37:22 | salewski | They already have Go, Rust, Swift beside C/C++ |
07:38:11 | salewski | I just discovered, that they even comment assembly instructions if mouse hovers over inst. |
07:38:52 | * | max3 quit (Quit: Connection closed for inactivity) |
07:38:59 | salewski | That is really great. |
07:39:20 | PMunch | GodBold.org? |
07:39:32 | FromGitter | <narimiran> godbolT |
07:39:38 | FromGitter | <narimiran> https://godbolt.org/ |
07:39:49 | PMunch | Ah |
07:40:13 | salewski | Current Nim assembly inspection, with option saveTemps and looking at assembly listing in editor |
07:40:27 | Araq | salewski: agreed. maybe we can also add this feature to Nim's playground |
07:40:33 | salewski | is not that easy, so I generally do it not. |
07:41:00 | Araq | assembly is much more instructive than looking at the C code |
07:41:51 | salewski | I think Nim's high quality assembly is one important selling point, so it should be more visible. |
07:42:41 | salewski | Would be great, bye. |
07:43:22 | * | salewski quit (Quit: WeeChat 2.0.1) |
07:43:23 | * | xet7 quit (Read error: Connection timed out) |
07:44:07 | * | xet7 joined #nim |
07:46:29 | Araq | huh, gc:boehm takes 71 secs on some tests, the native GCs 2 secs. |
07:46:37 | Araq | something is not right here |
07:47:51 | * | yglukhov_ joined #nim |
07:50:25 | * | yglukhov quit (Ping timeout: 248 seconds) |
07:51:32 | * | Arrrr joined #nim |
07:51:32 | * | Arrrr quit (Changing host) |
07:51:32 | * | Arrrr joined #nim |
07:57:08 | * | floppydh_ quit (Quit: WeeChat 2.1) |
07:57:23 | * | floppydh joined #nim |
08:14:57 | * | SenasOzys quit (Ping timeout: 248 seconds) |
08:17:25 | * | xet7 quit (Read error: Connection timed out) |
08:17:57 | * | xet7 joined #nim |
08:21:13 | PMunch | Oooh nice, an i3 IPC library: https://nimble.directory/pkg/i3ipc |
08:21:25 | PMunch | federico3, when did you make that? |
08:23:50 | PMunch | Oh by the way. the scrollbar issue is still present on nimble.directory |
08:24:20 | FromGitter | <Varriount> Araq: I'm starting to see why skipTypes is used so much in the compiler. |
08:24:26 | PMunch | ref: https://i.imgur.com/7jlnbwy.png |
08:26:12 | Araq | varriount: :P I probably got that type graph design wrong but after all these years I still haven't found something really better that would justify to refactor 60000 lines of code |
08:29:01 | FromGitter | <Varriount> Araq: The only alternative I can think of is storing the type data within the symbol. |
08:29:16 | Araq | that would be a bigger mistake |
08:29:22 | Araq | types are not symbols |
08:29:42 | Araq | the trinity in Nim, nodes, syms, types, has served us quite well |
08:30:03 | * | Vladar joined #nim |
08:30:12 | FromGitter | <Vindaar> @Araq (or anyone familiar with `quote do`) does the following make any sense to you? https://github.com/numforge/loop-fusion/pull/3 |
08:30:50 | FromGitter | <Vindaar> tl;dr: forZip raises an `illegal capture` due to usage of `quote do` in the macro. If replaced by manual AST at the problematic code, it works fine |
08:30:56 | Araq | seq[int] is a type, but has not a single symbol |
08:30:57 | FromGitter | <Vindaar> if called within a proc, that is |
08:32:01 | FromGitter | <Varriount> Araq: Also, I've found that if `x` has a type of `var Foo` (because `x` is a parameter), `getTypeInst` returns an nnkBracketExpr tree |
08:32:30 | Araq | I noticed, fix it. |
08:32:48 | FromGitter | <Varriount> Is the problem just in getTypeInst? |
08:33:00 | FromGitter | <Varriount> Or is this something to do with the parser? |
08:34:49 | Araq | getTypeInst |
08:41:10 | FromGitter | <ZarsBranchkin> Was slightly curious, what would be the standard way of raising assertion errors in macros for improper/unsupported macro use? Is there a macro/procedure for that? |
08:42:04 | FromGitter | <narimiran> "'add' on a nil sequence doesn't produce a crash anymore" - does this mean we don't have to do `result = @[]` anymore? |
08:45:49 | PMunch | Hmm, in the documentation for the net module the connectUnix call is missing. I'm guessing this is because it's behind a `when defined(posix)` switch? Would it be possible for the documentation generator to realize this and add it to a special section or something? |
08:49:04 | FromGitter | <ephja> check if nimdoc is defined |
08:51:29 | PMunch | ZarsBranchkin, not to my knowledge |
08:51:40 | PMunch | IMHO something should be added in the macros module for that |
08:51:48 | PMunch | Even just an exception type |
08:52:02 | PMunch | ephja, was that meant for me? |
08:52:42 | FromGitter | <ephja> yes |
08:53:01 | FromGitter | <ephja> @mratsim `when defined(posix) or defined(nimdoc)`? :p |
08:55:32 | PMunch | Ah right, yeah that might work |
08:57:16 | FromGitter | <xmonader> https://github.com/xmonader/nim-dmidecode I added a tutorial and a line by line walkthrough |
08:57:23 | * | xet7 quit (Remote host closed the connection) |
08:59:41 | * | xet7 joined #nim |
09:02:37 | * | xkapastel quit (Quit: Connection closed for inactivity) |
09:10:22 | Araq | narimiran: that is correct |
09:14:32 | FromGitter | <narimiran> Araq: very nice! i guess the similar thing will happen to strings too? |
09:15:20 | Araq | PMunch: proc error() in macros.nim? |
09:15:32 | Araq | narimiran: sure |
09:15:52 | FromGitter | <ZarsBranchkin> ah neat, had missed that proc |
09:16:39 | PMunch | Araq, ah yes like that :P |
09:17:12 | PMunch | How did I miss that? I've been raising all sorts of weird exceptions in my code when it's given bad input.. |
09:17:52 | FromGitter | <ZarsBranchkin> Right, raising exceptions for all errors felt dirty and had to look for appropriate base exception |
09:21:20 | federico3 | PMunch: i3ipc? Apr 29, 2017 according to the commit :) |
09:22:58 | PMunch | federico3, I couldn't get it to work though, see the issue I created |
09:23:47 | PMunch | https://github.com/FedericoCeratto/nim-i3ipc/issues/1 |
09:23:52 | PMunch | Seems like you missed a file |
09:24:10 | federico3 | oopsie, fixing |
09:26:06 | federico3 | PMunch: better? |
09:26:56 | FromGitter | <ZarsBranchkin> Oooh, neat, haven't tried writing applications that interact with i3, should check it out sometime |
09:30:21 | PMunch | federico3, much better :) |
09:34:19 | * | yglukhov_ quit (Ping timeout: 265 seconds) |
09:39:21 | * | yglukhov joined #nim |
09:44:59 | * | r3d9u11 quit (Remote host closed the connection) |
09:47:51 | * | floppydh quit (Quit: WeeChat 2.1) |
09:49:43 | * | floppydh joined #nim |
09:51:01 | FromGitter | <survivorm> is `try...except` not working in runnable examples? |
09:51:20 | FromGitter | <survivorm> cause I get some strange error |
09:52:54 | FromGitter | <survivorm> `SIGSEGV: Illegal storage access. (Attempt to read from nil?)` ⏎ I mean I understand it, but why on the earth it is here. If I bring same piece of code out of the runnable example, it works |
09:54:04 | * | SenasOzys joined #nim |
09:54:05 | * | SenasOzys quit (Remote host closed the connection) |
09:54:38 | FromDiscord | <claude> do you have -d:release on? if you do see what happens if you turn it off |
09:55:00 | FromGitter | <survivorm> ```code paste, see link``` [https://gitter.im/nim-lang/Nim?at=5ae2f37362316e0505064420] |
09:55:06 | * | SenasOzys joined #nim |
09:55:07 | * | yglukhov_ joined #nim |
09:55:23 | FromGitter | <survivorm> no, i don't |
09:55:51 | FromGitter | <survivorm> just `nim doc ./lib/pure/times.nim` |
09:56:42 | * | SenasOzys quit (Remote host closed the connection) |
09:57:02 | * | yglukhov_ quit (Client Quit) |
09:57:28 | * | SenasOzys joined #nim |
09:57:44 | * | yglukhov quit (Ping timeout: 260 seconds) |
09:58:36 | * | yglukhov joined #nim |
10:07:04 | * | yglukhov quit (Ping timeout: 260 seconds) |
10:08:34 | * | yglukhov joined #nim |
10:18:35 | PMunch | federico3, what did you use the i3ipc package for by the way? |
10:19:53 | federico3 | PMunch: a little tool that detects most used windows and moves them around automatically |
10:20:48 | federico3 | d'you have something in mind? |
10:21:13 | PMunch | Hmm interesting |
10:21:26 | PMunch | Well, not really |
10:21:42 | PMunch | I am considering to do a new version of my i3 with touch controls project |
10:22:08 | PMunch | But instead of a single bar at the bottom use xlunch instances overlaid on the windows |
10:28:09 | PMunch | But all that could probably just be done with bash |
10:31:53 | FromGitter | <data-man> git's newbie question: how to do commit to specified PR (not mine)? |
10:32:13 | FromGitter | <data-man> :) |
10:32:30 | FromGitter | <xmonader> @data-man u need to push on his same branch |
10:32:41 | PMunch | Uhm, a PR is a branch on their fork. So you don't have push rights to his branch (probably) |
10:33:30 | PMunch | What you can do is create a fork of their branch, then commit there and create a PR either to them, or directly to the original repo |
10:34:40 | FromGitter | <data-man> I want to do changes for https://github.com/nim-lang/Nim/pull/5898 |
10:35:23 | FromGitter | <data-man> @xmonader, @PMunch Thanks! |
10:37:04 | PMunch | Yeah, so either you need push access to Parashurama:bitops_use_endians, or you must fork his fork and create a new PR |
10:40:35 | * | SenasOzys quit (Remote host closed the connection) |
10:43:22 | FromGitter | <dandevelo> Is it possible to have forward type declaration in Nim? |
10:46:05 | * | codevance1 joined #nim |
10:48:11 | PMunch | Forward type declaration? |
10:48:36 | FromGitter | <xmonader> @dandevelo are you trying to reference the same type? like linked list for instance? |
11:23:18 | PMunch | Hmm, is there anything like GitPython available for Nim? |
11:24:40 | PMunch | Ah, gitapi seems to be about right |
11:36:58 | FromGitter | <data-man> @PMunch: Also there is libgit2 wrapper: https://github.com/barcharcraz/libgit2-nim |
11:37:59 | PMunch | Yeah I saw that, but it's a bit low level for what I'm doing (I think) |
11:42:06 | FromGitter | <data-man> https://github.com/achesak/nim-gitapi |
11:42:07 | * | dddddd joined #nim |
11:42:53 | PMunch | Yeah that's the one I found as well |
11:43:05 | FromGitter | <data-man> :) |
11:54:17 | * | athenot quit (Ping timeout: 260 seconds) |
11:54:31 | PMunch | Hmm, we should get the Nim TOML implementation up to 0.4.0 compatibility: https://github.com/toml-lang/toml/wiki |
11:57:20 | codevance1 | whats toml :¦ |
11:57:46 | PMunch | Tom's Obvious Minimal Language |
11:58:10 | PMunch | Basically a human-readable configuration format |
11:58:36 | PMunch | Kinda similar to old INI files |
11:58:50 | codevance1 | like yaml but for humans? |
11:59:33 | codevance1 | its like cfg files sorta |
11:59:37 | PMunch | Well, YAML is also meant to be human readable :P |
12:00:30 | PMunch | Another neat thing about TOML is that it is meant to "map unambiguously to a dictionary" |
12:02:41 | codevance1 | ive seen the yaml website. that is not very easy to understand |
12:03:02 | * | smt_ is now known as smt |
12:03:04 | codevance1 | yaml lists dicts it gets confusing |
12:03:13 | codevance1 | which is which |
12:03:15 | PMunch | Haha, yeah TOML aims to be simple. So it's both easy to parse and easy to read and write |
12:04:22 | FromGitter | <dandevelo> @xmonader just trying to use one type as part of another structure |
12:04:50 | FromGitter | <dandevelo> @mratsim thanks! Didn't know that works |
12:07:19 | FromGitter | <data-man> @PMunch: There is https://github.com/ziotom78/parsetoml Currently it supports v0.3.1 of the TOML specification. |
12:07:39 | codevance1 | but somtimes i wish nim had the ¦ char as a multiline string like yaml |
12:21:30 | PMunch | data-man, yeah I know. I was talking about updating it to 0.4.0 |
12:21:48 | PMunch | codevance1, the ¦ character, or the | character? |
12:21:59 | FromGitter | <data-man> And to include to stdlib? |
12:22:28 | codevance1 | pmunch i dont have the pipe char on my phone :'( |
12:22:39 | codevance1 | i meant pipe |
12:23:03 | PMunch | data-man, well that would certainly be an option. But I think Araq has said that he doesn't really want to add any more stuff to the stdlib unless it's important |
12:23:18 | PMunch | codevance1, you have ¦ but not | on your phone? |
12:23:31 | codevance1 | yup silly right? |
12:23:45 | PMunch | Oh right, so you want | to be the separator, but you just couldn't type it? :P |
12:24:39 | FromGitter | <alehander42> why don't we have a reverse iterator :O |
12:24:43 | codevance1 | no i want to type var stringyvar = ¦ newline indent text newline indent line 2 of text |
12:25:07 | PMunch | Hmm, my phone is the opposite |
12:25:28 | FromGitter | <alehander42> I'll write one |
12:25:50 | PMunch | codevance1, aah, so a block statement |
12:25:57 | codevance1 | because i dont like using triple quote since the first newline is in there if you dont want to make it akward |
12:26:13 | PMunch | I guess you could implement a =| macro that would take a block of strings and contatenate them |
12:26:14 | codevance1 | and triple quote is not indent sensitive |
12:26:35 | codevance1 | pmunch i dont understand nim well enough to do that |
12:26:48 | codevance1 | thus me thinking its impossible |
12:27:08 | FromGitter | <alehander42> writing a macro is very simple, don't be afraid |
12:27:19 | FromGitter | <data-man> @PMunch: IMO, it's very important! :) We have cfg, csv, html, json, sql, xml parsers. Why not add a few more? |
12:28:03 | PMunch | data-man, fair point |
12:28:06 | codevance1 | yeah but it has to ignore the ast inside and still be indent aware. |
12:28:22 | PMunch | Well, if it accepted strings it would probabyl be easy |
12:29:28 | FromGitter | <alehander42> so you want something like ⏎ ⏎ ```var stringyvar = stuff: ⏎ "a0" ⏎ "b1"``` ⏎ ⏎ to be " a0\n b1\n" ? [https://gitter.im/nim-lang/Nim?at=5ae317a86d7e07082b3dba0a] |
12:29:40 | codevance1 | data-man, as long as the syntax is used in places, and its reasonably established. at the least a wrapper around a c lib would be good imo |
12:30:04 | codevance1 | alehander i dont want to have to put in quotes |
12:31:24 | PMunch | Well that makes it a lot harder.. |
12:31:40 | PMunch | And a lot of stuff wouldn't be allowed in the block |
12:31:47 | FromGitter | <alehander42> eh than it would be easier to somehow postprocess triple quotes |
12:32:17 | FromGitter | <alehander42> it doesn't matter that it's not indent sensitive |
12:32:46 | FromGitter | <alehander42> you can still postprocess it with something like deindent(.., 3) |
12:32:58 | codevance1 | ya i guess i could just preprocess a triple quote. |
12:34:55 | FromGitter | <survivorm> So, no answer to the question on `try/except` in `runnableExamples` block? |
12:40:37 | FromGitter | <data-man> @codevance1: Which c lib? |
12:41:07 | * | athenot joined #nim |
12:42:14 | * | enthus1ast quit (Ping timeout: 260 seconds) |
12:43:20 | PMunch | codevance1, http://ix.io/18Rx/ |
12:43:40 | PMunch | That's the meat of it. Concats those strings with a simple newline and no indents |
12:43:55 | PMunch | Kinda like how C doesn't require anything special to concat strings |
12:43:56 | * | enthus1ast joined #nim |
12:47:58 | PMunch | Not entirely sure how/if it's possible to convert this to a =| operator |
13:02:45 | * | endragor quit (Remote host closed the connection) |
13:07:13 | * | Arrrr quit (Ping timeout: 248 seconds) |
13:07:15 | codevance1 | i think = sign ops are special |
13:10:14 | PMunch | Not really, this works just fine: http://ix.io/18RA/ |
13:10:35 | codevance1 | data man surely theres a clib for it |
13:10:36 | PMunch | But if you try do use it directly in "var x =| 10" it will fail |
13:11:17 | * | vivus joined #nim |
13:12:19 | * | Lord_Nightmare2 joined #nim |
13:12:33 | * | Lord_Nightmare quit (Ping timeout: 248 seconds) |
13:13:11 | * | Lord_Nightmare2 is now known as Lord_Nightmare |
13:17:47 | codevance1 | thats fine by me |
13:22:33 | * | floppydh quit (Quit: WeeChat 2.1) |
13:28:25 | * | codevance1 quit (Quit: Yaaic - Yet another Android IRC client - http://www.yaaic.org) |
13:29:08 | * | CodeVance joined #nim |
13:29:18 | * | Arrrr joined #nim |
13:37:54 | * | nsf quit (Quit: WeeChat 2.0.1) |
13:50:01 | * | vivus quit (Quit: Leaving) |
13:53:16 | FromGitter | <alehander42> weird macro |
13:53:37 | FromGitter | <alehander42> i didnt know you can `=op` |
13:54:28 | CodeVance | for some reason the mingw I downloaded from nim's link doesn't have the libintl3.dll in its bin folder |
13:55:21 | * | fvs joined #nim |
13:55:35 | FromGitter | <data-man> Use MSYS2. Pacman is great! :) |
13:56:14 | * | crem quit (Ping timeout: 256 seconds) |
13:56:21 | Araq | CodeVance: what is that required for? the mingw we ship is "complete" |
13:56:47 | Araq | it's just from our own mirror, so to say because mingw's installation is horrible |
13:56:59 | * | crem joined #nim |
13:56:59 | CodeVance | I wanted to sync the submodules from nim-opengl |
13:57:28 | CodeVance | basename.exe: libintl3.dll: Not found or something |
14:00:06 | CodeVance | with git |
14:00:26 | CodeVance | for that matter what git does everyone using nim on windows use |
14:01:35 | * | Lord_Nightmare quit (Quit: ZNC - http://znc.in) |
14:01:53 | * | Lord_Nightmare joined #nim |
14:04:23 | CodeVance | @data-man I'll check out msys2 thanks for the advice :) |
14:04:28 | FromGitter | <data-man> @Araq: Why not remove shipped mingw and not recommend users to use MSYS2? Will only need to write a short instruction for use. |
14:04:46 | Araq | because it works for many people. |
14:05:05 | Araq | please remember that one person complaining on IRC doesn't make it a real problem. |
14:05:08 | CodeVance | I can't get nim-opengl to work from the repo T_T |
14:05:28 | CodeVance | most of the wrapping repos don't have instructions |
14:05:48 | CodeVance | maybe im just stupid. But its pretty frustrating |
14:06:16 | FromGitter | <data-man> MSYS2's users more than Nim's users. :) |
14:06:18 | Araq | nim-opengl is not Nim's official wrapper iirc. |
14:06:37 | * | Arrrr1 joined #nim |
14:06:37 | * | Arrrr quit (Disconnected by services) |
14:06:54 | Araq | usually wrappers are downright hostile on Windows, at least the official ones try to be portable. |
14:07:04 | CodeVance | its under the nim-lang organisation's github |
14:07:14 | Araq | ouch lol |
14:07:40 | CodeVance | it's called opengl in nim |
14:07:49 | CodeVance | I renamed the folder it seems |
14:16:53 | * | Arrrr1 quit (Quit: Leaving.) |
14:22:47 | FromGitter | <data-man> At different times I also used https://nuwen.net/mingw.html and http://www.equation.com/servlet/equation.cmd?fa=fortran |
14:27:10 | shashlick | data-man: nice - I've been pretty happy with the MSYS2 installer and pacman as well |
14:34:06 | FromGitter | <data-man> @shashlick: Good! :) Using MSYS2 also can guarantee gcc's compatibility for Windows and *nix distros. And I think that latest gcc faster than 4.9.2 (used on appveyor). |
14:37:41 | shashlick | just did a pacman -Syu, lots of updates |
14:39:45 | CodeVance | How many nim windows users use msys2 |
14:40:32 | * | r3d9u11 joined #nim |
14:40:51 | * | miran joined #nim |
14:41:31 | FromGitter | <data-man> Maybe for some users it will be more convenient Chocolatey or Scoop. |
14:42:48 | FromDiscord | <claude> im just waiting for vcpkg to finalize |
14:46:39 | FromGitter | <data-man> M$ sucks :) ⏎ With MSYS2 you can install clang too. |
14:48:52 | * | PMunch quit (Quit: Leaving) |
14:58:17 | * | SenasOzys joined #nim |
14:58:29 | * | SenasOzys quit (Remote host closed the connection) |
15:01:51 | * | CodeVance quit (Read error: Connection reset by peer) |
15:04:39 | * | CodeVance joined #nim |
15:04:48 | * | leru joined #nim |
15:06:44 | shashlick | Nim in chocolate is so out of date |
15:07:02 | shashlick | But hundreds of ways to install, hard to keep up |
15:09:25 | * | SenasOzys joined #nim |
15:11:15 | * | couven92 quit (Quit: Client disconnecting) |
15:13:09 | FromGitter | <krux02> @data-man M$ is the past. Now I don't know a name for it anymore that has a pun. |
15:14:26 | FromGitter | <krux02> Microsoft is bad, and it should be illegal to use it when you are dealing with sensitive data, because you can never be sure that the Operating system is not secretly sending this data over to America where it is sold to the highest bidder. |
15:14:54 | FromGitter | <data-man> @krux02: 💯 :) |
15:18:21 | FromGitter | <krux02> I use pacman all the time. It is great. |
15:18:28 | FromGitter | <Varriount> Hrm. We need a sample suite of various AST inputs. |
15:18:35 | FromGitter | <krux02> but not with msys but in Arch Linux. |
15:18:59 | FromGitter | <Varriount> Like, "possible type node combinations" |
15:20:18 | FromGitter | <krux02> @Varriount what do you mean? |
15:20:59 | FromGitter | <Varriount> Like, I'm currently rewriting a macro from macros.nim. It would really help if I had some idea of all the kinds of types this macro might encounter |
15:21:21 | FromGitter | <Varriount> sample ASTs |
15:21:59 | FromGitter | <krux02> what macro? |
15:22:32 | FromGitter | <krux02> there are a lot |
15:23:17 | FromGitter | <Varriount> Right now, the getCustomPragmaVal |
15:23:36 | * | xkapastel joined #nim |
15:23:47 | FromGitter | <krux02> most important is, that you document properly what the macro should do, so that one can reason about it better in case the macro encounters something that it doesn't know. |
15:26:52 | * | r3d9u11 quit (Remote host closed the connection) |
15:26:54 | FromGitter | <Varriount> @krux02 I'm getting the type of an expression. The problem is that I don't know all the shapes that a type's AST can be. |
15:27:31 | FromGitter | <krux02> well me neither |
15:27:37 | FromGitter | <krux02> and I use that macro, too |
15:27:55 | FromGitter | <krux02> I just contrain myself to the types/shaps that are important for my program |
15:28:31 | FromGitter | <krux02> and when I encounter something unexpected I report a proper error instead of returning weird garbage |
15:28:47 | FromGitter | <krux02> then the function can then easily be extended. |
15:34:09 | FromGitter | <krux02> @Varriount I have a macro that normalizes a type ast, are you interested? |
15:34:37 | FromGitter | <Varriount> Possibly. Right now I'm using a copy of the skipType procedure found in the compiler source code. |
15:37:33 | FromGitter | <krux02> http://ix.io/18RV |
15:38:14 | FromGitter | <krux02> it is just for resolving alis types |
15:38:41 | * | ftsf quit (Ping timeout: 248 seconds) |
15:38:45 | FromGitter | <krux02> you are probably not interested in alias names of types, so this normalizations get's rid of all the possible alased representations of a type. |
15:39:11 | FromGitter | <krux02> no guarantee that it works for everything, but for what it works is documented. |
15:39:23 | FromGitter | <krux02> don't ask me how it works. I don't know anymore. |
15:43:24 | FromGitter | <data-man> Poll: https://github.com/nim-lang/Nim/pull/7700#issuecomment-385009345 :) |
16:08:45 | * | miran quit (Ping timeout: 276 seconds) |
16:12:22 | * | jrbrt joined #nim |
16:28:05 | * | jrbrt quit (Quit: jrbrt) |
16:35:00 | * | yglukhov quit (Remote host closed the connection) |
16:35:34 | * | yglukhov joined #nim |
16:36:02 | FromGitter | <Varriount> @krux02 The line `nnkObjectTy, nnkTupleTy, nnkDistinctTy` - Don't forget that oe can do `type x = seq[int]` |
16:36:57 | * | athenot quit (Quit: My MacBook has gone to sleep. ZZZzzz…) |
16:38:45 | * | Vladar quit (Quit: Leaving) |
16:40:01 | * | yglukhov quit (Ping timeout: 248 seconds) |
16:46:17 | * | Snircle_ quit (Quit: Textual IRC Client: www.textualapp.com) |
16:46:37 | * | Snircle joined #nim |
16:50:03 | * | jrbrt joined #nim |
16:57:38 | * | nsf joined #nim |
17:00:39 | * | SenasOzys__ joined #nim |
17:00:50 | * | fvs left #nim ("ERC (IRC client for Emacs 25.3.1)") |
17:01:17 | * | SenasOzys quit (Read error: Connection reset by peer) |
17:10:55 | * | nixfreak joined #nim |
17:12:57 | * | SenasOzys__ quit (Ping timeout: 240 seconds) |
17:14:24 | FromGitter | <krux02> hmm yea I don't care for seq types at the moment |
17:14:29 | FromGitter | <krux02> so yea |
17:14:41 | FromGitter | <krux02> I think I will add support for it if i need it |
17:23:04 | * | SenasOzys__ joined #nim |
17:33:01 | * | xkapastel quit (Quit: Connection closed for inactivity) |
17:40:38 | * | athenot joined #nim |
17:42:36 | * | leru quit (Remote host closed the connection) |
17:43:13 | * | CodeVance quit (Read error: Connection reset by peer) |
17:44:54 | * | noonien joined #nim |
17:53:16 | * | xkapastel joined #nim |
18:01:20 | * | leru joined #nim |
18:06:07 | * | codevance1 joined #nim |
18:15:38 | * | SenasOzys__ quit (Remote host closed the connection) |
18:16:53 | * | SenasOzys joined #nim |
18:19:08 | * | SenasOzys quit (Remote host closed the connection) |
18:20:12 | * | SenasOzys joined #nim |
18:25:04 | * | miran joined #nim |
18:39:19 | * | fvs joined #nim |
18:43:31 | fvs | why sequtils.deduplicate and not sequtils.distinct or sequtils.unique? Its example uses var name unique1. |
18:44:52 | Araq | 'distinct' is already a keyword |
18:45:06 | Araq | and 'unique' can also be related to unique pointers |
18:45:20 | Araq | deduplicate is just fine. |
18:45:47 | Araq | it's also a verb and 'distinct' / 'unique' are not. |
18:49:20 | fvs | The best defense is a good offense ;) |
18:50:15 | Araq | well I like the name "deduplicate" quite a bit and think other languages should use it too. ;-) |
18:50:54 | * | riidom quit (Remote host closed the connection) |
18:51:02 | Araq | it's also an expensive operation so pretending it's just a cheap view into the data like 'unique' would suggest is not good. |
18:58:03 | * | jjido joined #nim |
18:58:21 | * | SenasOzys quit (Ping timeout: 240 seconds) |
19:02:47 | * | vivus joined #nim |
19:07:38 | miran | yup, it is quite expensive. had to implement different logic/algorithm just so i can not use it |
19:11:21 | * | rockcavera quit (Ping timeout: 240 seconds) |
19:14:28 | miran | after seeing that, i'm trying to avoid deduplicate in all my code |
19:17:35 | Araq | never used it. |
19:18:12 | Araq | how hard is it to "avoid" it? :-) |
19:22:55 | * | SenasOzys joined #nim |
19:23:36 | miran | basically you think a bit until you find a way how can you use sets :) |
19:24:31 | miran | the original thing had used those duplicated elements, but in the rewritten one only one of each element was needed - hence sets were the right choice |
19:25:37 | Araq | yeah sets ftw. |
19:26:39 | miran | i had a similar discovery how tables are slow, and i should find a way to transform them into arrays.... |
19:27:15 | Araq | wow if tables are slow you must doing interesting work :-) |
19:29:29 | miran | noticeably slower than arrays, tested on more-than-one example |
19:30:02 | Araq | well it the dataset is sparse tables take up less memory than arrays |
19:31:11 | miran | yeah, logical |
19:31:39 | miran | but in the end, i wanted speed so mostly-empty array was a better choice than a table.... |
19:39:07 | * | SenasOzys quit (Remote host closed the connection) |
19:41:00 | * | SenasOzys joined #nim |
19:46:09 | * | yglukhov joined #nim |
19:47:07 | * | SenasOzys quit (Remote host closed the connection) |
19:49:16 | * | SenasOzys joined #nim |
19:50:35 | * | yglukhov quit (Ping timeout: 240 seconds) |
20:02:10 | * | rockcavera joined #nim |
20:13:03 | * | xkapastel quit (Quit: Connection closed for inactivity) |
20:32:16 | * | smt` joined #nim |
20:34:34 | * | fvs left #nim ("ERC (IRC client for Emacs 25.3.1)") |
20:35:45 | * | smt quit (Ping timeout: 264 seconds) |
20:38:37 | * | SenasOzys quit (Remote host closed the connection) |
20:39:01 | * | miran quit (Quit: Konversation terminated!) |
20:39:31 | * | SenasOzys joined #nim |
20:45:18 | * | brainpro1 joined #nim |
20:45:53 | * | brainproxy quit (Ping timeout: 248 seconds) |
21:06:56 | * | riidom joined #nim |
21:25:36 | * | nsf quit (Quit: WeeChat 2.0.1) |
21:36:55 | * | rockcavera quit (Remote host closed the connection) |
21:43:22 | * | rockcavera joined #nim |
21:43:42 | * | athenot quit (Quit: My MacBook has gone to sleep. ZZZzzz…) |
21:54:38 | * | SenasOzys quit (Remote host closed the connection) |
21:55:12 | * | SenasOzys joined #nim |
21:56:07 | * | SenasOzys quit (Remote host closed the connection) |
21:57:21 | * | SenasOzys joined #nim |
21:58:08 | * | SenasOzys quit (Remote host closed the connection) |
22:02:59 | * | SenasOzys joined #nim |
22:08:30 | FromGitter | <flowck> Hi everyone |
22:09:21 | FromGitter | <flowck> The fsmonitor page on Nim's website is returning the 404 error |
22:09:24 | FromGitter | <flowck> https://nim-lang.org/docs/fsmonitor.html |
22:09:46 | FromGitter | <flowck> I opened an issue in the main repository. ⏎ ⏎ https://github.com/nim-lang/Nim/issues/7710 |
22:10:12 | FromGitter | <flowck> Do you know In which repository is store all the documentation / website? |
22:11:10 | * | nixfreak quit (Ping timeout: 264 seconds) |
22:11:15 | dom96 | we need to move that module out into a nimble package |
22:11:51 | FromGitter | <flowck> Oh, I see. |
22:12:48 | FromGitter | <flowck> It's common to see this module in the core of other languages. |
22:13:13 | FromGitter | <flowck> Is there any reason for this decision? |
22:14:16 | dom96 | is it common? What languages have such a module? |
22:14:31 | dom96 | The reason is that it's not cross-platform and nobody picked up the slack to make it cross-platform yet :) |
22:14:46 | dom96 | and it is implemented for the outdated async implementation (asyncio) |
22:16:37 | FromGitter | <flowck> Thanks, it answer my question. The fsmonitor from Nodejs has similar problems related with cross-platform. |
22:18:46 | dom96 | Somebody here was working on a cross-platform version IIRC |
22:19:16 | dom96 | Somehow feel like it's varriount or zacharycarter, but I'm probably really wrong :) |
22:56:12 | codevance1 | Can you run a script with nim e -r script.nim if it doesnt interface with external libraries? |
22:57:11 | * | xkapastel joined #nim |
22:57:33 | shashlick | I don't think you need the -r |
22:57:47 | shashlick | and it's .nims |
22:58:08 | shashlick | you can use the functionality in nimscript |
23:00:51 | codevance1 | I was wondering how to run something in the nim vm since its almost instantanious |
23:01:53 | codevance1 | Coming from python and needing to wait 10 seconds for compile is painful |
23:02:04 | codevance1 | Or maybe im spoiled |
23:02:23 | codevance1 | And thats only with a small program |
23:02:25 | shashlick | https://gist.github.com/genotrance/cc575b760428289586e141f2ef64c3ba#file-passed-txt |
23:02:37 | shashlick | that's all the modules that "potentially" work in the VM |
23:02:50 | shashlick | i'm working on figuring it out, including adding test cases, etc. |
23:03:18 | shashlick | officially, only 4 modules are expected to work: https://nim-lang.org/docs/nims.html |
23:05:19 | codevance1 | Ya. I wasnt expecting nim to be an interpreted language. Theres also the other side. I could just code for longer stretches then the compiling wont be as painful. |
23:06:19 | shashlick | if you are doing simpler stuff, you can use snip to compile realtime on the side |
23:06:34 | codevance1 | Another thing i was wondering can nim source be compiled to js. Cause you could theoretically have nim compiler in the browser then |
23:06:44 | shashlick | I use it when I'm writing small snippets |
23:06:48 | codevance1 | Link for snip please |
23:07:00 | shashlick | https://github.com/genotrance/snip |
23:07:09 | codevance1 | ;) |
23:07:44 | dom96 | Nim compiler uses many modules which are not available in the JS backend |
23:08:07 | shashlick | run with --mon and press F12 to make the output window full screen |
23:08:26 | shashlick | edit the file in your text editor and it will detect changes and rebuild |
23:08:36 | shashlick | works for single file stuff, but obviously not for larger projects |
23:08:47 | shashlick | nim js file.nim |
23:08:54 | shashlick | js backend is quite advanced |
23:09:12 | codevance1 | Dom what about compiling nim to webasm? |
23:09:22 | shashlick | that's also ongoing |
23:10:45 | shashlick | https://github.com/stisa/nwasm <= still in POC territory I think |
23:11:07 | * | sz0 joined #nim |
23:12:11 | codevance1 | Everyone is quite busy. Is there a nim news? |
23:13:08 | shashlick | there's the blog and twitter, but most of the news is here I think |
23:13:50 | codevance1 | Maybe i should jump the crowd and make a nim.planet feed XD |
23:14:26 | shashlick | what's that? |
23:14:46 | shashlick | hey, there's also the forum where there's lots of activity, in case you haven't seen that |
23:15:18 | codevance1 | Like a massive rss feed. But like blog posts with updates from every nim project |
23:15:26 | codevance1 | Ive seen it |
23:15:39 | codevance1 | But its more language specific |
23:16:07 | codevance1 | Im more like XYZ 123 came out heres whats new. |
23:16:49 | dom96 | codevance1: You should make a blog |
23:16:57 | dom96 | a planet already exists somewhere |
23:17:09 | dom96 | we need more people writing blog articles about Nim |
23:18:23 | shashlick | it would be nice to have a compile date in "nim -v" output |
23:20:06 | codevance1 | Dom96 ive been wanting to write a newbie guide and maybe a game dev guide. But i havent got enough things ready yet. And im still learning. |
23:20:32 | dom96 | shashlick: we did have that, no idea what happened to it |
23:20:35 | leru | Hints are disabled, but are still shown when I compile. Any suggestions? |
23:20:36 | codevance1 | Shash, i agree |
23:21:10 | codevance1 | Leru, --verbosity:0 |
23:21:48 | leru | codevance1, is set |
23:22:19 | shashlick | dom96: what distro does travis run for our nim test? |
23:22:44 | dom96 | ubuntu |
23:22:54 | codevance1 | Leru are they hints or warnings? |
23:25:21 | leru | codevance1, hints, but I just found the source of the issue. I had a Latex project open and somehow something made Sublime used a different build setting (which I do not have defined?). Closing the project fixed it... Why Sublime? |
23:26:25 | codevance1 | Maybe add a nim.cfg to project? |
23:26:34 | codevance1 | Or change base cfg |
23:31:58 | leru | Nah, it's alright for now. I will get into the cfg, after I've learned some more of the language core |
23:32:21 | codevance1 | What you buzy with? |
23:33:23 | leru | Basics and httpclient right now |
23:36:34 | * | codevance1 quit (Quit: Yaaic - Yet another Android IRC client - http://www.yaaic.org) |
23:36:49 | * | codevance1 joined #nim |
23:44:25 | * | Snircle quit (Quit: Textual IRC Client: www.textualapp.com) |
23:48:52 | leru | Is there an old version of the docs somewhere accessible? |
23:49:47 | codevance1 | Check the old commits in the repo |
23:50:13 | codevance1 | But youd have to build them |
23:50:39 | codevance1 | Arent there old releases on github? |
23:51:46 | leru | It's not old enough |
23:51:51 | leru | Oh, you mean from source |
23:52:20 | codevance1 | Ya... |
23:52:41 | codevance1 | Vut that just my thoughts. I dont really know much |
23:52:52 | leru | Me neither |
23:53:08 | leru | I want the manual.html from about 2 years ago |
23:53:16 | codevance1 | Why you want only docsm? |
23:53:59 | codevance1 | Nims repo goes that far back :) |
23:55:50 | leru | Some fundamental changes happened I think, so I want to check if I'm right or I just mixed up some things |
23:56:08 | leru | Like I thought comments were introduced with -- not with #... |
23:57:14 | leru | Although... It's not worth looking that up |
23:58:03 | codevance1 | If u have a fast computer it wont take much time |