00:05:13 | * | def-pri-pub joined #nim |
00:05:39 | * | smt` is now known as smt |
00:06:14 | * | user0__ joined #nim |
00:06:47 | * | user0_ quit (Ping timeout: 260 seconds) |
00:09:38 | * | libman joined #nim |
00:51:52 | * | TjYoco joined #nim |
01:26:46 | * | vivus joined #nim |
01:35:20 | * | TjYoco quit (Quit: Leaving) |
01:35:45 | * | yay quit (Quit: My MacBook has gone to sleep. ZZZzzz…) |
01:35:53 | * | JappleAck quit (Quit: Leaving) |
01:43:11 | * | chemist69 quit (Ping timeout: 255 seconds) |
01:47:04 | * | vivus quit (Quit: Leaving) |
01:56:52 | * | chemist69 joined #nim |
02:18:22 | * | Snircle quit (Quit: Textual IRC Client: www.textualapp.com) |
02:19:35 | * | Nobabs27 joined #nim |
02:19:48 | * | Nobabs27 quit (Remote host closed the connection) |
02:35:30 | * | TjYoco joined #nim |
02:47:56 | * | tj_yoco joined #nim |
02:50:21 | * | TjYoco quit (Ping timeout: 240 seconds) |
03:20:39 | * | Jesin quit (Remote host closed the connection) |
03:25:01 | * | tj_yoco quit (Ping timeout: 240 seconds) |
03:37:47 | * | def-pri-pub quit (Quit: Leaving.) |
04:18:13 | * | dddddd quit (Remote host closed the connection) |
05:18:48 | * | yay joined #nim |
05:22:01 | * | rauss quit (Read error: Connection reset by peer) |
05:23:35 | * | rauss joined #nim |
05:36:14 | * | libman quit (Quit: Connection closed for inactivity) |
05:48:52 | * | sleepyqt joined #nim |
05:54:36 | * | libman joined #nim |
06:01:43 | * | yay quit (Quit: Textual IRC Client: www.textualapp.com) |
06:37:16 | * | gokr joined #nim |
06:43:06 | * | yglukhov joined #nim |
07:05:02 | * | gokr quit (Ping timeout: 260 seconds) |
07:07:48 | * | miran joined #nim |
07:45:52 | * | Yardanico joined #nim |
07:51:15 | * | nsf joined #nim |
08:08:49 | Araq | http://www.strawpoll.me/14152674 |
08:09:31 | FromGitter | <Bennyelg> nimpretty |
08:09:35 | FromGitter | <Bennyelg> go go go |
08:10:23 | Yardanico | Araq, hi!! |
08:10:26 | Yardanico | you are streaming again?! |
08:11:03 | FromGitter | <Bennyelg> Yardanico how old are u :) |
08:11:08 | Yardanico | I'm 17 :D |
08:11:20 | FromGitter | <Bennyelg> I wish i were you :D |
08:13:52 | Araq | Yardanico: probably tonight, same time |
08:14:10 | FromGitter | <Bennyelg> Great, I am In |
08:14:42 | FromGitter | <Bennyelg> @Araq Any Conference soon which you are going to introduce Nim? |
08:15:20 | FromGitter | <mratsim> (https://files.gitter.im/nim-lang/Nim/Dahl/2017-10-15_10-14-54.png) |
08:15:33 | Yardanico | lol |
08:16:17 | FromGitter | <Bennyelg> :) |
08:18:06 | FromGitter | <mratsim> Btw @cabhishek how did your Python conference go? Did people like your Nim talk? |
08:18:53 | * | claudiuinberlin joined #nim |
08:18:54 | miran | Araq: i'm trying to watch yesterday's talk (by following the link posted on twitter), but no luck.... |
08:19:37 | Yardanico | miran, what do you mean? |
08:19:49 | Yardanico | Araq has recorded his stream, he didn't save it on twitch |
08:19:55 | Yardanico | he'll post it on youtube himself |
08:20:22 | miran | Yardanico: ah, i see... i've tried link posted here https://twitter.com/nim_lang/status/919283760318898176 |
08:20:42 | miran | but now i see your answer there too :D |
08:23:34 | FromGitter | <mratsim> @Araq seems like your mitems C++ fix made C++ great again. There is no random crash as well. The only thing left I have to figure out is why bounds-checking I’m expecting are not thrown in C++ mode. Thank you !!! I was losing my hair |
08:23:44 | FromGitter | <mratsim> (https://files.gitter.im/nim-lang/Nim/54Mz/2017-10-15_10-23-10.png) |
08:38:31 | FromGitter | <mratsim> C++ bound checks issue reported: https://github.com/nim-lang/Nim/issues/6512 |
08:39:58 | * | Arrrr joined #nim |
08:39:58 | * | Arrrr quit (Changing host) |
08:39:58 | * | Arrrr joined #nim |
08:48:37 | FromGitter | <Bennyelg> @mratsim where can we seek for this bug ? in the includes directory? |
08:48:46 | FromGitter | <Bennyelg> it's sure not in the "pure" |
08:57:50 | Yardanico | probably C++ codegen |
09:03:25 | Yardanico | Araq, it seems today you gonna work on nimpretty :) |
09:03:29 | Yardanico | it has 5 votes already |
09:14:17 | Araq | Yardanico: nimpretty should be easier than fixing bugs :P |
09:14:37 | Yardanico | Araq, I hope so |
09:18:19 | FromGitter | <mratsim> When programming, "easy stuff” can easily lead you down the rabbit hole >_> |
09:21:06 | * | Vladar joined #nim |
09:39:58 | dom96 | I'll be continuing on with my stream in around 1 hour |
09:41:10 | Araq | dom96: what will it be about? |
09:41:18 | Yardanico | about nim of course :P |
09:41:39 | dom96 | Hooking up my stock notifier with the webdriver package |
09:41:43 | dom96 | and finishing up the web driver package |
09:41:59 | dom96 | plus maybe I'll implement `nimble check` (should be easy) |
09:42:15 | dom96 | Araq: I voted for Nim pretty btw :) |
09:42:22 | Yardanico | me too xD |
09:43:00 | Yardanico | 7 votes for it already - http://www.strawpoll.me/14152674/r |
09:45:18 | * | xet7 quit (Quit: Leaving) |
09:46:14 | * | libman quit (Quit: Connection closed for inactivity) |
09:48:19 | Araq | dom96: I know |
09:51:45 | dom96 | I'm open to other ideas of what to work on in my stream too btw |
09:51:59 | dom96 | but I do need to fix this stock notifier, it keeps giving false positives now |
09:52:20 | Araq | fix Nim bugs |
09:53:16 | Araq | make Nimble less annoying to use :P |
09:53:32 | Araq | in other words, fix 'nimble publish' please |
09:56:48 | dom96 | okay, that's one idea |
09:58:53 | dom96 | I wonder if what I fixed in httpclient fixed that bug :P |
10:02:41 | * | couven92 joined #nim |
10:27:02 | * | yglukhov_ joined #nim |
10:30:22 | * | yglukhov quit (Ping timeout: 260 seconds) |
10:53:23 | Yardanico | lol |
10:53:30 | Yardanico | Araq, it seems the topic is already known : http://www.strawpoll.me/14152674/r |
10:53:34 | Yardanico | 10 votes for nimpretty |
10:57:01 | Yardanico | Araq, oh, overloading seems to not work here |
10:57:07 | Yardanico | https://github.com/Yardanico/Nim/blob/d2457c7979afda8ef8b4d0293c3efee771a7cb59/lib/pure/json.nim#L710 |
10:57:10 | Yardanico | sorry |
10:57:29 | Araq | yeah known bug |
10:57:30 | Yardanico | https://github.com/nim-lang/Nim/blob/devel/lib/pure/json.nim#L710 |
10:57:45 | Araq | you need to write out these .deprecated procs |
10:57:49 | Yardanico | ok |
10:58:01 | Araq | the .deprecated pragma is only about the type name migration really |
10:58:12 | Araq | it was never intended as a feature |
10:59:02 | Yardanico | Araq, should these deprecated procs call the new ones? |
10:59:09 | Yardanico | or I just copy-paste proc body? |
11:00:09 | Yardanico | and should I keep docs for deprecated procs? |
11:02:09 | * | Snircle joined #nim |
11:09:12 | * | xet7 joined #nim |
11:15:13 | * | miran quit (Ping timeout: 248 seconds) |
11:20:02 | dom96 | A little late, but I'm live https://go.twitch.tv/d0m96 |
11:20:45 | * | vlad1777d joined #nim |
11:20:51 | * | nsf quit (Quit: WeeChat 1.9) |
11:30:12 | dom96 | OBS crashed :\ |
11:36:54 | * | PMunch joined #nim |
11:37:32 | couven92 | PMunch, dom96 is streaming https://go.twitch.tv/d0m96 |
11:37:46 | PMunch | Oh cool |
11:40:37 | PMunch | What is it he's working on by the way? Stock notifier? |
11:40:43 | couven92 | yup |
11:40:55 | PMunch | Which is? |
11:41:03 | couven92 | and for the stream discussion he prefers if we discuss in the twitch chat |
11:41:21 | PMunch | Yeah I know, but that would mean I have to get a Twitch account :P |
11:41:40 | couven92 | KeePass! |
11:42:14 | PMunch | Still have to sign-up and sign away another part of my privacy. Plus I'd get even more mail that I won't read |
11:44:40 | PMunch | dom96, number sign, hash, or pound sign are the normal names for # |
11:44:57 | PMunch | Hence hash-tag is a tagging system that uses the hash symbol |
11:45:14 | PMunch | Yeah I know.. |
11:45:37 | PMunch | Plus I'm eating breakfast at the moment :P |
11:45:43 | Yardanico | PMunch, use temp mails! |
11:45:49 | PMunch | I know, I'll probably end up creating one soon |
11:45:58 | Yardanico | PMunch, https://temp-mail.org/ |
11:45:59 | couven92 | PMunch, create an IRC->Twitch bridge! |
11:46:02 | Yardanico | very easy one |
11:46:11 | PMunch | Was actually thinking about doing that couven92 |
11:46:15 | couven92 | :D |
11:46:19 | Yardanico | couven92, twitch chat is already IRC |
11:46:21 | couven92 | I know you too well |
11:46:28 | Yardanico | twitch bots work via IRC |
11:46:48 | Yardanico | https://help.twitch.tv/customer/portal/articles/1302780-twitch-irc |
11:46:52 | couven92 | Huh... well that would be nice, if dom96 does new streams in the future |
11:47:16 | couven92 | go PMunch you have time now, since you already delivered your M.Sc. |
11:47:32 | PMunch | True, but I'm working on the genui thing :) |
11:47:43 | PMunch | Yes you do dom96 |
11:47:46 | PMunch | I checked already :) |
11:47:52 | Yardanico | PMunch, just use temp mail and twitch irc :) |
11:48:20 | PMunch | I don't really have anything against using the Twitch UI, I have to have it open to watch the stream anyways |
11:49:52 | PMunch | Hmm, my nick has been nicked already :/ |
11:50:31 | couven92 | that's why I call myself couven92 :P |
11:50:43 | PMunch | PMunch has been pretty good so far |
11:51:06 | Yardanico | yardanico is 100% unique :P |
11:51:15 | Yardanico | well, 99% |
11:51:22 | Yardanico | because some guy had it on twitter |
11:51:31 | Yardanico | so I've used yardanic0 |
11:51:44 | couven92 | couven92, is pretty unique as well :) |
11:52:07 | Yardanico | you literally can find all my public profiles by my nickname |
11:52:20 | PMunch | Wasn't there some service that would try to grab your nick as many places as possible and just create shill accounts in case you wanted to use them? |
11:52:25 | PMunch | I think I remember something like that |
11:52:39 | couven92 | that sounds evil! |
11:52:45 | Yardanico | well |
11:52:52 | Yardanico | maybe it's a program :) |
11:53:09 | PMunch | couven92, the idea was to grab your own nick, so no-one else could get it |
11:53:30 | Yardanico | PMunch, he means that this service can grab your nicknames as well :P |
11:53:39 | PMunch | Yeah.. |
11:58:50 | * | libman joined #nim |
12:05:10 | * | dddddd joined #nim |
12:23:05 | * | ShalokShalom_ joined #nim |
12:26:19 | * | ShalokShalom quit (Ping timeout: 255 seconds) |
12:29:17 | couven92 | I didn't really follow closely yesterday, did Araq say he'd stream today? |
12:31:26 | * | ShalokShalom_ is now known as ShalokShalom |
12:32:47 | * | PMunch quit (Quit: leaving) |
12:33:39 | Yardanico | dom96, https://gist.github.com/Yardanico/7e2cbee3e5b32e5e4fee33effd7d5514 |
12:38:58 | Yardanico | dom96, as konqoro suggested in twitch - https://gist.github.com/Yardanico/7f5b1cac7d947c5e3034307a881cfe6d :) |
13:09:55 | FromGitter | <Bennyelg> dom what is this stock notifier |
13:11:02 | FromGitter | <Bennyelg> nice |
13:15:49 | Yardanico | use his IRC nickname so he is notified on your message |
13:16:07 | * | nsf joined #nim |
13:16:11 | FromGitter | <Bennyelg> webdriver/src/webdriver.nim not work |
13:17:19 | FromGitter | <Bennyelg> t.nim(51, 31) Error: attempting to call undeclared routine: 'getBool' |
13:17:27 | Yardanico | well |
13:17:31 | Yardanico | it's for devel nim |
13:17:35 | Yardanico | change getBool to getBVal |
13:17:55 | Yardanico | getBool looks nicer than getBVal, right? so that's why it was changed |
13:19:08 | FromGitter | <Bennyelg> Ic, well another issue ⏎ ⏎ ```code paste, see link``` [https://gitter.im/nim-lang/Nim?at=59e3604c210ac26920eb36bd] |
13:20:09 | FromGitter | <Yardanico> strange, maybe your browser isn't very compatible with webdriver specs? |
13:21:07 | FromGitter | <Bennyelg> No Idea :D |
13:21:19 | dom96 | only geckodriver supports the webdriver spec from what I can see |
13:21:33 | FromGitter | <Bennyelg> what is geckodriver :) |
13:21:49 | FromGitter | <Bennyelg> Mozilla? |
13:21:52 | dom96 | yes |
13:21:54 | FromGitter | <Bennyelg> Im using chrome |
13:23:48 | FromGitter | <Bennyelg> @dom96 how old are you ? |
13:25:03 | FromGitter | <Bennyelg> does Gettaxi black cabs are available in you area in UK ? |
13:34:20 | * | PMunch joined #nim |
13:48:00 | Yardanico | anyone who didn't vote yet - go http://www.strawpoll.me/14152674 |
13:48:19 | Yardanico | it's the topic of next araq stream, which will be today :) |
13:51:35 | * | Sentreen quit (Ping timeout: 240 seconds) |
14:04:47 | * | Sentreen joined #nim |
14:08:04 | couven92 | Yardanico, thanks for posting! :) I am actually really looking forward to that... Nice to have to major nim devels streaming on the same day! :D |
14:08:12 | couven92 | *two |
14:08:21 | Yardanico | well araq has already streamed yesterday |
14:08:28 | Yardanico | fixing random nim bugs:) |
14:08:29 | couven92 | yeah, missed that :( |
14:08:41 | Yardanico | he'll upload a recording to youtube |
14:08:47 | couven92 | YAIH! :D |
14:17:03 | * | TjYoco joined #nim |
14:29:50 | dom96 | oh man |
14:30:01 | dom96 | Livestreaming is strenous |
14:30:10 | PMunch | I'd imagine |
14:30:11 | couven92 | I can imagine :) |
14:30:30 | PMunch | The constant sense that someone is watching and the pressure to do something every step of the way |
14:30:47 | couven92 | I find it hard enough to code live in a classroom! and that always has a hard-limit of 2x 45 minutes :P |
14:31:05 | couven92 | and even with notes that is hard |
14:31:09 | dom96 | Yeah, and the pure concentration. When I'm coding alone I usually end up taking many breaks to read HN or similar heh |
14:31:17 | couven92 | :D |
14:31:37 | PMunch | You should put on a pomodoro timer and run an intermission screen :P |
14:31:38 | couven92 | Well.. that tea was well deserved! :D |
14:32:32 | couven92 | PMunch, was it Glade that did the xml serialization? When we worked on FASTSALES? |
14:33:16 | PMunch | Uhm, yes? |
14:33:33 | couven92 | I forgot, you know I don't do GTK! :P |
14:33:42 | PMunch | It was the program that created the XML files, then we loaded those with a Glade loader in Gtk |
14:34:17 | couven92 | yeah... okay... what do you think. Nice to have a Glade Editor (but done properly) for Nim? |
14:34:33 | couven92 | (using JSON instead of XML, obviously) |
14:35:02 | PMunch | That would be neat |
14:35:03 | couven92 | and not Glade, but for a Nim xplat GUI framework |
14:35:09 | PMunch | Yeah |
14:35:14 | PMunch | That's the hard part :P |
14:35:19 | couven92 | (which under the hood can do GTK) |
14:35:29 | FromGitter | <zacharycarter> https://imgur.com/a/nvmRS |
14:35:35 | FromGitter | <zacharycarter> working on a gun today |
14:35:40 | couven92 | Oooh... I sense a lot of work coming towards me :P |
14:36:14 | PMunch | Well I'm writing a xplat GUI framework (ish) |
14:36:24 | couven92 | yeah I know |
14:36:31 | PMunch | So you're free to write something for that :) |
14:37:13 | couven92 | yeah... as I said I had plans to do that for Eto.Forms in C# |
14:37:35 | couven92 | and the actuall editor stuff would be basically the same thing, I'd imagine |
14:38:54 | couven92 | But we need to get the KeePass thingy to work! |
14:39:29 | couven92 | PMunch, recruit Pontus... he was looking for something to do to learn Nim! :P |
14:39:51 | * | miran joined #nim |
14:40:01 | PMunch | Hmm, we really should get a workshop going at uni |
14:40:30 | couven92 | PMunch, november after the 9th I getting a little more freetime again |
14:41:02 | couven92 | s/I/I'm |
14:41:10 | PMunch | That's not for ages! |
14:41:17 | PMunch | :P |
14:41:40 | PMunch | Does anyone have any good ideas for simple tasks for a workshop to learn Nim? |
14:42:24 | miran | how simple? |
14:42:53 | miran | any programming knowledge from before or complete beginners> |
14:42:58 | PMunch | Well, it's for people studying CS but which have never tried Nim |
14:42:58 | couven92 | miran, simple enough for people that already know C and Python to do something in a max-two hour timeframe |
14:43:29 | PMunch | Yeah, but it can be multiple <2h tasks |
14:44:49 | * | Arrrr quit (Ping timeout: 248 seconds) |
14:45:42 | * | zolk3ri joined #nim |
14:47:26 | miran | couven92: well, i'm in that category (nim beginner with previous python knowledge) :) |
14:47:47 | couven92 | miran, so... what would be nice to do? |
14:48:22 | couven92 | PMunch, and I were thinking to at least dive a little into templates, but maybe not too much into macros and fancy AST modding |
14:49:04 | couven92 | PMunch, BouncingBalls à la Nim? |
14:49:06 | couven92 | :P |
14:49:27 | miran | and i would say, generally, for start provide different tasks with as many as possible different (built-in) types - how to efficiently use seqs, tables, sets, arrays, etc. |
14:49:27 | PMunch | That would certainly be interesting |
14:49:33 | PMunch | Or a simple web-server thingy |
14:49:48 | PMunch | miran, that's a good idea |
14:49:59 | PMunch | Try to expose them to as much of the language as possible |
14:50:09 | couven92 | PMunch, yeah, but we get soo many people with web-workshops at UiT... and... well |
14:50:37 | PMunch | Yeah.. That's true |
14:50:37 | miran | because when i started, i managed to use seqs, but i had problem with arrays, and stuff like that |
14:51:13 | couven92 | miran, well, at UiT we are C-people... so dealing with statically sized arrays is a thing for us |
14:51:15 | couven92 | :P |
14:52:16 | * | skrylar joined #nim |
14:52:28 | miran | couven92: :) i miss C-background, so probably some obvious things were not-so-obvious to Python-me |
14:52:29 | skrylar | zacharycarter: well, it needs testing but i think i have a nim native DDS reader |
14:53:35 | miran | but whatever you choose to do - please share the materials with us, i'll be interested in that and will probably learn something new |
14:54:27 | couven92 | miran: PMunch and I were considering to stream if do a presentation... However, if we do a workshop, we will definitely do a GitHub repo to follow |
14:55:57 | PMunch | couven92, we could even set up something like for UiTHack were off-site people can join the workshop |
14:56:31 | couven92 | PMunch, yeah, though tbh it that case a repo with lots of branches would also do... |
14:56:35 | couven92 | (I think) |
14:56:38 | Yardanico | miran, I haven't had any C experience as well, but learned a lot from learning Nim :P |
14:56:49 | Yardanico | and docs are not that bad actually |
14:57:01 | miran | Yardanico: how long are you programming in nim? |
14:57:03 | skrylar | i did straight c for a while |
14:57:14 | couven92 | Yardanico, yeah, Nim is nice because of the Python-simplicity but still being very good for low-level stuff |
14:57:25 | * | Arrrr joined #nim |
14:57:37 | Yardanico | miran, well, I'm a hobbyist rn, so... I discovered nim in march |
14:57:44 | Yardanico | but I didn't do any big things in it |
14:57:56 | miran | and docs could be a lot more useful with some examples - this is my major pet peeve with nim docs (and i use that constantly while i'm learning) |
14:57:59 | Yardanico | I learned it in ~2-3 weeks |
14:58:04 | Yardanico | well I just use github :P |
14:58:04 | couven92 | Yardanico, you're still in school, iirc? |
14:58:10 | Yardanico | couven92, yep |
14:58:25 | * | voiceftp quit (Quit: Leaving) |
14:58:38 | miran | Yardanico: you're much younger and much faster learner than me :) |
14:58:52 | * | SusWombat joined #nim |
14:59:02 | * | voiceftp joined #nim |
14:59:21 | * | vlad1777d quit (Remote host closed the connection) |
15:01:15 | * | vlad1777d joined #nim |
15:02:58 | zolk3ri | Yardanico: hey! |
15:03:08 | zolk3ri | Yardanico: but C master race! :D |
15:03:47 | couven92 | tbh, I actually don't do much real development, not in Nim, nor anywhere else, (don't have the Nim while doing my Master), but I thoroughly enjoy doing quality-of-life improvements here and there :) |
15:04:02 | couven92 | like vccexe, various stdlib-stuff, compiler error messages, etc. |
15:04:50 | couven92 | s/don't have the Nim while doing my Master/don't have the time while doing my Master/^ |
15:04:50 | FromGitter | <Lite5h4dow> hi, im really new to nim |
15:04:59 | Yardanico | couven92, compiler error messages? |
15:05:11 | Yardanico | Lite5h4dow: hi |
15:05:19 | FromGitter | <Lite5h4dow> and im trying to use nimYAML, but its going over my head |
15:05:24 | FromGitter | <Lite5h4dow> im comming from python |
15:05:31 | Yardanico | you're trying to parse yaml? |
15:05:36 | couven92 | Yardanico, yeah I did some compiler error messages related to invoking the compiler and linker |
15:05:36 | FromGitter | <Lite5h4dow> yeah |
15:05:56 | Yardanico | Lite5h4dow: and what problem you've encountered? |
15:06:27 | FromGitter | <Lite5h4dow> @Yardanico i havent even gotten it to work, i dont understand it at all |
15:06:36 | FromGitter | <Lite5h4dow> im reading the documentation and i dont know what im doing |
15:06:39 | couven92 | Ah, Yardanico, I almost forgot: the Nim on Android thingy! :P |
15:06:52 | Yardanico | Lite5h4dow: what's your usecase? |
15:06:55 | Yardanico | for nim + yaml |
15:07:15 | FromGitter | <Lite5h4dow> im using a yaml file as a simple method of editing setting |
15:07:28 | FromGitter | <Lite5h4dow> and adding words to use for commands |
15:07:34 | Yardanico | well it's documentation is pretty simple |
15:07:34 | Yardanico | https://nimyaml.org/ |
15:07:42 | Yardanico | but you should firstly learn some nim |
15:07:53 | Yardanico | because nim only *looks* like python |
15:08:01 | FromGitter | <Lite5h4dow> oh |
15:08:25 | FromGitter | <Lite5h4dow> i know its a typed language |
15:08:34 | FromGitter | <Lite5h4dow> but the way stuff interacts is throwing me off |
15:08:44 | Yardanico | well any examples? :) |
15:09:10 | FromGitter | <Bennyelg> Nim is great but the learning curve is pretty hard at first |
15:09:26 | Yardanico | well it's a personal thing too as I sais |
15:09:29 | Yardanico | said |
15:09:38 | Yardanico | if you know that project you'll be doing, it's easier |
15:09:39 | FromGitter | <Lite5h4dow> like nim arrays / sequences - python arrays |
15:09:52 | miran | Bennyelg: when does this first part of learning curve finish? :) |
15:09:56 | Yardanico | in pythons they're not called "arrays" |
15:09:59 | Yardanico | they're "lists" |
15:10:16 | FromGitter | <Lite5h4dow> true |
15:10:17 | Yardanico | python has array module, but it's just a wrapper of C arrays |
15:10:28 | FromGitter | <Bennyelg> Keep going, implementing staff, Im finding python very boardroom after I introduced nim |
15:11:36 | FromGitter | <Bennyelg> @miran no idea Im still there |
15:11:52 | FromGitter | <Lite5h4dow> ok, but can i use a Nim sequence like a python list? |
15:11:53 | FromGitter | <Bennyelg> There are far more concepts to learn |
15:12:08 | Yardanico | Lite5h4dow: no, and you rarely need that |
15:12:33 | Yardanico | there's rarely a need for containers of different data types |
15:12:40 | FromGitter | <Lite5h4dow> well im trying to make a dictionary |
15:12:44 | Yardanico | it's easy |
15:12:46 | miran | Lite5h4dow: i'm also from python background, nim seqs are similar to py lists, but on other hand - sufficiently different |
15:12:48 | Yardanico | https://nim-lang.org/docs/tables.html |
15:13:35 | miran | my "problem" with nim is that looks very similar to python and it seems you could just copy/paste some code, just to find out there are some differences you didn't expect |
15:13:41 | FromGitter | <Bennyelg> python programers first need to throw out the bad thing python provide which is create lists, dicts with any type@of data |
15:13:45 | FromGitter | <Lite5h4dow> ```code paste, see link``` [https://gitter.im/nim-lang/Nim?at=59e37b29177fb9fe7e7fad9a] |
15:13:48 | FromGitter | <Bennyelg> This is bad programming |
15:14:25 | FromGitter | <Lite5h4dow> im trying to do that in nim |
15:14:33 | FromGitter | <Yardanico> @Lite5h4dow what is lotusDictionary? |
15:14:42 | FromGitter | <Bennyelg> Shadow, in python explicitly using True False is bad practice |
15:14:48 | FromGitter | <Lite5h4dow> the dictinary library of commands i made |
15:14:54 | zolk3ri | eww python |
15:15:05 | FromGitter | <Yardanico> well can you post full snippet of python code? |
15:15:10 | FromGitter | <Bennyelg> Why not use argparser if writing in puthon |
15:15:14 | FromGitter | <Bennyelg> Python* |
15:15:15 | miran | Lite5h4dow: don't use camelCase in python - i almost didn't recognize that as python code ;) |
15:15:16 | zolk3ri | well, I don't really like the indentation significant syntax, tbh |
15:15:26 | zolk3ri | welp |
15:15:49 | FromGitter | <Lite5h4dow> sorry, im super used to cammelCase from c++ |
15:16:23 | miran | `if commRun == True:` is in python written like this: `if comm_run:` ;) |
15:16:36 | FromGitter | <Yardanico> @Lite5h4dow I don't really understand what are you trying to do. I need full code snippet :) |
15:16:38 | FromGitter | <Bennyelg> I find camelCase less readable but In Nim you can choose what ever you like |
15:16:39 | FromGitter | <Lite5h4dow> i keep forgetting that |
15:16:45 | FromGitter | <Lite5h4dow> ok |
15:16:52 | FromGitter | <Lite5h4dow> its in 2 files |
15:16:54 | FromGitter | <Lite5h4dow> hold on |
15:17:47 | miran | Bennyelg: i've seen nim examples use camelCase, so i'm using that in nim, but python should definitely be snake_case |
15:18:10 | Yardanico | miran, camelCase is preferred in nim |
15:18:19 | Yardanico | but you can write it in other ways: |
15:18:25 | couven92 | PascalCase FTW! :) |
15:18:28 | Yardanico | e_C_h_O("hi") |
15:18:42 | couven92 | but yeah, camelCase in Nim is common consensus |
15:18:55 | Yardanico | couven92, PascalCase FTT (For the types) |
15:18:58 | couven92 | (except for Types, which are PascalCased) |
15:19:01 | Yardanico | and consts |
15:19:05 | couven92 | yeah |
15:19:16 | miran | and that's (camelCase) what autocomplete in vscode does ;) |
15:19:17 | FromGitter | <Lite5h4dow> ```code paste, see link``` [https://gitter.im/nim-lang/Nim?at=59e37c75e44c43700a36dc68] |
15:19:20 | FromGitter | <Bennyelg> I think the pep8 like on nim is not yet ready |
15:19:27 | couven92 | Yardanico, my slow typing got me there :( |
15:19:48 | Yardanico | miran, it's nimsuggest |
15:19:59 | FromGitter | <Lite5h4dow> there you go @Yardanico |
15:20:00 | couven92 | Yardanico, PascalCase for consts? |
15:20:04 | Yardanico | couven92, yeah |
15:20:07 | couven92 | huh |
15:20:16 | Yardanico | it looks better for me like this :P |
15:20:23 | couven92 | okay... (not doing much exported const-ing) |
15:20:27 | Yardanico | constants which may use PascalCase but are not required to. |
15:20:42 | couven92 | ah, okay... |
15:21:03 | FromGitter | <Bennyelg> In addition the Tab indention is far readable then the nim 2 spaces |
15:21:08 | couven92 | VS Code used to colour PascalCased stuff as Types regardless of where it was... |
15:21:16 | Yardanico | Bennyelg: I can argue with you about that |
15:21:22 | Yardanico | and you can change tab size in your editor |
15:21:33 | couven92 | editorConfig!!! :) |
15:21:40 | skrylar | i prefer three characters worth of indentation |
15:21:46 | skrylar | its unusual but neat |
15:21:49 | FromGitter | <Bennyelg> This is what I do |
15:22:01 | Yardanico | and what do you mean by "tab indention"? |
15:22:05 | Yardanico | indentation by tabs? |
15:22:06 | FromGitter | <Bennyelg> 2 spaces is not readable to the eye |
15:22:07 | miran | Bennyelg, after some time to adapt, i find 2 spaces reasonable :) |
15:22:11 | Yardanico | yeah |
15:22:13 | Yardanico | me too btw |
15:22:30 | Yardanico | I use 2 spaces in python too (if I need to help someone with python) |
15:22:55 | couven92 | coming from C# I miss my curlies... But I can deal, I love Nim regardless! |
15:23:13 | couven92 | (Nothing/noone is without flaw) :P |
15:23:19 | Yardanico | couven92, #?braces xDDD |
15:23:20 | FromGitter | <Bennyelg> I tried to push a web service using nim in my work but they didnt want to listen :( |
15:23:22 | PMunch | couven92, you do have syntax skins (or whatever they are called) |
15:23:35 | Yardanico | but araq said that it will remove them eventually |
15:23:36 | Yardanico | but yeah |
15:23:45 | Yardanico | #?braces at the top of your file |
15:23:48 | miran | couven92: after python, i briefly did some F#, now nim. curly braces - not even once :D |
15:24:01 | couven92 | miran, :D |
15:24:27 | FromGitter | <Bennyelg> I use go in my job and I hate it like hell |
15:24:44 | Yardanico | error handling is a bit unusual in go |
15:25:08 | FromGitter | <Bennyelg> Unusual is a very nice word |
15:25:12 | Yardanico | :D |
15:25:22 | couven92 | I actually found myself reasoning that I prefer JavaScript to Python: In JS we have JSDoc, a proper IDE-parsable standard/convention for annotating what type you expect for properties, functions and arguments |
15:25:33 | FromGitter | <Bennyelg> I find Go one of the worst languages invented |
15:25:40 | couven92 | It drives me crazy not having proper intellisense in Python |
15:25:43 | Yardanico | couven92, python already has that |
15:25:58 | couven92 | Yardanico, it does? epydoc? |
15:26:00 | FromGitter | <Bennyelg> Yea PEP 492? |
15:26:12 | Yardanico | couven92, .pyi files |
15:26:19 | couven92 | Oh! Okay, gonna read up on that |
15:26:22 | Yardanico | I mean |
15:26:24 | couven92 | thx! |
15:26:31 | Yardanico | you can use .pyi if you can't edit library source |
15:26:36 | Yardanico | or you can use type hints in your code |
15:26:38 | Yardanico | like |
15:27:06 | Yardanico | def someFunc(a: int, b: string) -> float: body |
15:27:18 | Yardanico | it's not checked by python, but it's very useful for IDEs |
15:27:19 | Yardanico | and for mypy |
15:27:25 | Yardanico | mypy is like typescript for js |
15:27:28 | couven92 | Yardanico, nice! thanks I did not know about that |
15:27:32 | Yardanico | http://mypy-lang.org/ |
15:27:48 | couven92 | (I am not doing stuff in Python, so...) :P |
15:27:50 | FromGitter | <Bennyelg> Sorry its pep 484 |
15:28:07 | miran | type hints and mypy are quite nice, i've used them in some project recently |
15:28:15 | Yardanico | mypy checks your code for invalid types |
15:28:20 | couven92 | @Bennyelg: thanks I will go and read after dinner :) |
15:28:23 | Yardanico | but yeah, it's mostly https://www.python.org/dev/peps/pep-0484/ |
15:30:42 | couven92 | @Yardanico, @Bennyelg: do you know whether PTVS picks up on this? |
15:30:43 | FromGitter | <Bennyelg> Another thing I want to change it Nim is the bad function calling eg: ⏎ You see some place editPath(xxx) and you have no Idea where it came from. ⏎ Every function call is without prefix of the library |
15:30:52 | Yardanico | couven92, I don't really |
15:30:57 | Yardanico | but PyCharm does that already |
15:31:04 | Yardanico | and vscode too |
15:31:06 | Yardanico | with mypy linter |
15:31:07 | couven92 | okay :) |
15:33:49 | FromGitter | <Bennyelg> Pycharm for python the best choice |
15:34:19 | FromGitter | <Bennyelg> In wish we will have NimNature for nim someday |
15:34:26 | couven92 | @Bennyelg: yeah I know... I just like the pain of doing everything in good old big bloated Visual Studio! :P |
15:35:17 | couven92 | Which is the same reason why I want to add Nim as 1st class support in Visual Studio... |
15:35:19 | couven92 | :D |
15:36:15 | couven92 | It's not that I think VS is superior to other Edtors/IDEs, but I want to do my part to make the experience as good as possible, if only for the sake of diversity |
15:37:35 | couven92 | Someone should think about Eclipse integration for Nim? |
15:37:56 | couven92 | (I don't do Eclipse, so I'd have no idea of how to do it :P ) |
15:38:03 | miran | i would say, just continue to develop vscode plugin |
15:38:16 | miran | better to have one great tool than three okay ones |
15:38:43 | FromGitter | <krux02> vscode +1 |
15:38:51 | couven92 | miran, sure, but that's not my baby, and I'd base my tooling on nimsuggest, as VS Code, NimLime, etc. do |
15:39:15 | Yardanico | vscode uses nimsuggest too |
15:39:47 | couven92 | so improving and adopting nimsuggest in more contexts will get improvements into nimsuggest, and thus help in adding more features everywhere |
15:40:05 | couven92 | (that's my idealistic thinking anyways :P ) |
15:41:26 | * | Arrrr quit (Disconnected by services) |
15:41:26 | * | Arrrr1 joined #nim |
15:41:29 | * | Arrrr1 quit (Client Quit) |
15:41:57 | FromGitter | <krux02> hmm it seems Nim brok glm |
15:42:00 | couven92 | and hey: MSBuild integration: Would make Nim compilation work out-of-the box on TFS Build agents if we wanted to... I got nothing against Travis CI or AppVeyor, but MSBuild would also be a nice addition (and it's fairly simple |
15:42:35 | couven92 | the integration I mean, not that MSBuild is anywhere near simple) |
15:42:44 | * | couven92 shudderes over MSBuild |
15:45:23 | FromGitter | <mratsim> @dom96, Here is my article for high performance computing in Nim: https://andre-ratsimbazafy.com/high-performance-tensor-library-in-nim/ and Medium: https://medium.com/@MARatsimbazafy/high-performance-tensor-library-in-nim-97a0c44de2f4 |
15:45:33 | couven92 | my Nim on Android project actually spawned into existance the same way: I don't do Android development, I have actually never done so. I just thought: Hey, we say Nim is cross-platform. Okay let's do cross-platform with Nim on Android |
15:46:46 | miran | mratsim can we others also read that article or just dom96? :D |
15:50:15 | FromGitter | <mratsim> it should be public, but he wanted one on wednesday :p |
15:50:33 | Yardanico | mratsim: Note: Nim provides tools to facilitate implicit conversion you don't need converter here btw |
15:50:47 | Yardanico | maybe you should change let c = (a + b.toMeters) # it works ! to let c = a + b |
15:50:54 | Yardanico | so it would actually be implicit |
15:51:18 | Yardanico | ah, I'm reading it at https://andre-ratsimbazafy.com/high-performance-tensor-library-in-nim/ |
15:51:23 | PMunch | Hmm, this is strange |
15:51:26 | Yardanico | Operator overloading and infix operators |
15:51:39 | Yardanico | there's &, <, > |
15:51:49 | PMunch | var layout {.compileTime.} = initUILayout() works fine for C target, but not JS target. |
15:52:12 | PMunch | On JS it says: "Error: cannot evaluate at compile time: layout" |
15:52:25 | PMunch | But on the C target it compiles fine |
15:52:49 | Yardanico | Syntax for humans is also broken on your website |
15:52:55 | Yardanico | I mean this section in article |
15:53:22 | Yardanico | medium is better because it has all strings correct, but it doesn't have syntax highlighting |
15:55:11 | Yardanico | toSeq(1..1\_000\_000).map_inline(x * x) what are these \ ? |
15:55:47 | Yardanico | mratsim: ^ |
15:55:55 | Yardanico | I also may try to translate it to russian |
15:56:15 | miran | escape characters so _ can be seen? (for example, if it was written in latex) |
15:56:25 | Yardanico | well I just report "bugs" :D |
15:56:37 | dom96 | mratsim: nice! Will read when I finish eating :) |
15:58:46 | PMunch | Is there a difference it how the compiler handles JS and C before it gets compiled to the certain language? |
16:04:57 | skrylar | there's some stuff you aren't allowed to do in the js backend like pointers and addrs |
16:05:04 | skrylar | because there's no way to compile that |
16:05:07 | federico3 | mratsim: very nice article |
16:05:07 | skrylar | iirc |
16:05:58 | PMunch | skrylar, but all of this happens on compile-time.. |
16:06:15 | PMunch | https://github.com/PMunch/genui/blob/master/test3.nim |
16:06:47 | PMunch | That layout assignment fails |
16:07:05 | PMunch | Even though initUILayout is declared as compileTime |
16:07:27 | skrylar | i'm not privvy to your UI system |
16:08:28 | PMunch | Well it's not really anything to do with it |
16:08:46 | PMunch | Hold on, I'll see if I can create a smaller sample |
16:09:49 | skrylar | compile time functions would be run in nimvm afaik which i am not too super aware of its restrictions |
16:10:33 | libman | Re IDE/editor mention above: my latest excuse for being depressed is that vscode doesn't run on BSDs. |
16:10:57 | PMunch | Yeah, but wouldn't it be the same VM for both C and JS? |
16:10:58 | Yardanico | ehm? |
16:11:00 | skrylar | many things no longer run on bsds ._. |
16:11:00 | Yardanico | libman, https://github.com/prash-wghats/VSCode-For-FreeBSD/releases |
16:11:17 | Yardanico | 5sec google |
16:11:22 | skrylar | thank hard deps to gnome which hard deps to systemd because we needed that in our life |
16:12:14 | libman | I think there were some problems with that last time I checked. |
16:12:38 | Yardanico | it would be the same for every program ported to not-very-popular platform |
16:12:45 | skrylar | you just need vim or emacs+evil anyway :) |
16:12:49 | Yardanico | *BSDs are not that popular on desktops |
16:15:16 | libman | It's not that FreeBSD isn't popular, it's that it's dwarfed by Linux. With the fall of Solaris, now we're the #2 free Unix. |
16:15:27 | dom96 | mratsim: lengthy post, but nice! Read the beginning and already think you should submit to Reddit/HN :) |
16:16:29 | libman | And I think all proprietary Unixen have also fallen below FreeBSD by now. |
16:17:39 | miran | dom96: ...after solving some of these typos mentioned by Yardanico (cc mratsim) |
16:18:51 | dom96 | also, not sure why you decided to write on medium as well |
16:18:58 | dom96 | but the lack of syntax highlighting sucks |
16:19:07 | dom96 | Also personally I dislike Medium |
16:20:02 | FromGitter | <mratsim> I found a Wordpress -> Medium plugin so it was just 1min to do :) |
16:20:39 | FromGitter | <mratsim> I think wordpress + code + special character like & or < doesn’t work well hummm |
16:21:01 | dom96 | Typo: (not sure if mentioned by yardanico already): "are not from me" -> "are not for me" |
16:22:33 | dom96 | also yeah, I see > |
16:22:37 | * | PMunch quit (Quit: leaving) |
16:23:58 | dom96 | "Today CPU are so fast " -> "Today CPUs are so fast" (minor) :) |
16:24:48 | TjYoco | what is the HN site you always refer to? |
16:25:11 | FromGitter | <mratsim> hacker news, the road to fame |
16:25:30 | TjYoco | thanks |
16:25:47 | couven92 | mratsim, "The road to fame"? Really? |
16:26:50 | dom96 | "10000 * 100 perceptrons computation" -> "10000 * 100 perceptron computations" |
16:27:29 | dom96 | "toSeq(1..1\_000\_000).map(square)" the \ shouldn't be there I guess? |
16:27:46 | dom96 | "will forces you to" -> force |
16:27:54 | FromGitter | <mratsim> it strange I don’t see those backslash |
16:28:01 | FromGitter | <mratsim> it’s strange* |
16:28:35 | FromGitter | <mratsim> Popular posts at hacker News/Reddit tends to crash the hosting server :p |
16:28:38 | dom96 | "call the function" -> "calls the function" |
16:28:43 | miran | can confirm that blackslashes are visible, both on your site and medium |
16:28:50 | dom96 | just make sure you've got good caching |
16:29:02 | * | sleepyqt quit (Quit: Leaving) |
16:29:05 | dom96 | in fact, you should set up cloudflare if you haven't already |
16:30:33 | Yardanico | dom96, I said about that too |
16:30:35 | dom96 | This could be rephrased "Now you look at me and says, no way, computing in Javascript?" :) |
16:30:40 | Yardanico | about slashes |
16:30:54 | dom96 | Also the following sentence |
16:32:20 | dom96 | but in general I think it's good to go |
16:32:30 | dom96 | Your post doesn't need to be perfect to make it on HN |
16:33:17 | miran | but i can confirm that if you make it on HN, you'll get quite nice traffic |
16:33:42 | miran | could be good for nim in general |
16:38:16 | FromGitter | <mratsim> I think I fixed most of the things, thank you all |
16:38:32 | FromGitter | <mratsim> for HN, feel free, I don’t have an account ! |
16:38:45 | Yardanico | mratsim: I tihnk I will try to translate your article to Russian |
16:38:52 | Yardanico | to post it as a translation on habrahabr.ru |
16:38:58 | FromGitter | <mratsim> you’re welcome |
16:39:14 | FromGitter | <krux02> not feeling good today. My library doesn't work anymore |
16:39:32 | FromGitter | <mratsim> I can give you the markdown file @Yardanico |
16:39:41 | Yardanico | mratsim: oh, that would be very neat! |
16:39:56 | Yardanico | luckily habrahabr supports both html tags and markdown |
16:40:30 | couven92 | Hmmm... if you were to make a automatically updating nim-package for a package manager: do we have an API for the getting latest version of Nim, or should you literally just query GitHub for tags and match against the tagname? |
16:40:34 | FromGitter | <Yardanico> you can PM me markdown file on gitter |
16:40:52 | dom96 | did anybody submit to HN? |
16:40:53 | couven92 | (like VS Code that determines whether it is out of date) |
16:42:00 | Yardanico | krux02: what's the error? |
16:42:14 | Yardanico | are you talking about opengl-sandbox? |
16:42:18 | miran | mratsim dom96 maybe it is better to submit it tomorrow morning, higher traffic |
16:42:55 | dom96 | and less likelihood of getting on the front page :) |
16:43:04 | miran | dom96: that also :) |
16:43:17 | dom96 | I'll submit it |
16:43:37 | dom96 | https://news.ycombinator.com/newest |
16:43:38 | dom96 | Submitted |
16:43:46 | miran | ok, and we other can upvote it, hopefully reaching front page |
16:44:08 | dom96 | mratsim: do you have a twitter? |
16:44:21 | dom96 | miran: yes, but sshhh, that's illegal :) |
16:44:36 | FromGitter | <mratsim> yes, dead but there: https://twitter.com/m_ratsim |
16:44:52 | miran | dom96: i just said that we can/could upvote it, not that we should/would :P |
16:45:34 | FromGitter | <mratsim> Gitter spamming with detailed twitter feed is awful :/ |
16:45:54 | miran | btw, article with upvotes but without comments is not worth that much... so guys - get on your keyboards :) |
16:46:15 | Yardanico | https://news.ycombinator.com/item?id=15477899 |
16:46:36 | Yardanico | Araq, are you still planning to stream today? |
16:47:30 | FromGitter | <mratsim> Wrote a shameless tweet: ⏎ ⏎ ```code paste, see link``` [https://gitter.im/nim-lang/Nim?at=59e39121bbbf9f1a38643231] |
16:47:49 | dom96 | mratsim: cool, tweeted |
16:48:09 | dom96 | oh, gonna RT this too then |
16:48:42 | federico3 | also --> https://planet.nim-lang.org/ |
16:50:43 | couven92 | oh, federico3 this looks interesting, I didn't know about that |
16:54:44 | dom96 | federico3: oh yeah, can you add a link to that on nim-lang.org somewhere? |
16:55:22 | TjYoco | those images are wayyy too big though lol |
16:56:00 | federico3 | dom96: good idea |
17:00:22 | FromGitter | <Bennyelg> Hey, when Live session starts? |
17:01:10 | couven92 | Araq has been very quiet today... I wonder whether it is weekend in Germany today... :P |
17:01:13 | FromGitter | <zacharycarter> skyrlar: awesomeeee |
17:01:15 | FromGitter | <zacharycarter> https://imgur.com/a/gw9QS |
17:01:25 | FromGitter | <Bennyelg> blender Pro |
17:01:26 | FromGitter | <Bennyelg> :P |
17:01:42 | FromGitter | <zacharycarter> :P |
17:13:36 | FromGitter | <Bennyelg> @dom96 I couldn't understand how you change a HTML page response to a json on webdriver |
17:16:17 | Yardanico | parseJson(jsondata) |
17:16:20 | Yardanico | it's not html page |
17:16:39 | dom96 | Not entirely sure what you mean |
17:17:11 | FromGitter | <Bennyelg> If you enter this page ⏎ https://www.amazon.co.uk/Nintendo-Classic-Mini-Entertainment-System/dp/B073BVHY3F |
17:17:20 | FromGitter | <Bennyelg> you not getting Json, you getting pure html |
17:18:16 | Yardanico | where? |
17:18:29 | FromGitter | <Bennyelg> what do you mean where? enter this link ⏎ https://www.amazon.co.uk/Nintendo-Classic-Mini-Entertainment-System/dp/B073BVHY3F |
17:18:35 | FromGitter | <Bennyelg> this is the link dom crawl |
17:18:38 | Yardanico | yes |
17:18:41 | Yardanico | but he uses webdriver |
17:18:43 | * | JappleAck joined #nim |
17:18:56 | Yardanico | so you can send an API request to webdriver so it will find the needed element |
17:19:17 | FromGitter | <Bennyelg> I c, |
17:19:18 | Yardanico | mratsim: "It was in Javascript, I wanted to learn another language I stumbled upon after my" so you wrote your code for Data Science Bowl #3 in JS? or you learned deep learning and neural networks with it? |
17:19:41 | FromGitter | <mratsim> for Data Science bowl it was in Python |
17:19:49 | FromGitter | <mratsim> but the tutorial for neural networks was in JS |
17:19:53 | Yardanico | ah, ok |
17:20:15 | dom96 | 7 points and still not on front page |
17:20:19 | dom96 | strange |
17:20:36 | Yardanico | where is araq ? :) |
17:20:57 | dom96 | no idea |
17:21:04 | dom96 | but he streamed later than now yesterday |
17:21:08 | Yardanico | yeah, I know |
17:26:02 | miran | dom96: it is not strange - because of lack of comments |
17:26:32 | dom96 | interesting |
17:27:09 | miran | i didn't manage to read the article yet, but those of you who did - maybe you could provide some 'introductory' comment (giving tl;dr version of the article, commenting about nim in general, or something like that) |
17:31:55 | dom96 | Yeah, somebody please comment. I'm probably not the right person since I submitted it |
17:32:12 | FromGitter | <mratsim> lol |
17:32:16 | dom96 | miran: How do you know so much about HN's algorithm? :O |
17:32:42 | miran | dom96: from the experience and trying to get to the front page :) |
17:33:19 | miran | dom96: you can still comment first, it is not unusual - to explain the reasons why you find it interesting |
17:33:23 | TjYoco | I know reddits is based on velocity of upvotes too somewhat. Not just raw upvotes but how soon into submission they get them |
17:33:58 | dom96 | Yeah, but people know that I am a core Nim dev |
17:34:47 | dom96 | https://twitter.com/safaribot/status/919255962120318976 so sad :'( |
17:36:37 | FromGitter | <mratsim> Well while there is overlap, Nim can go after new markets, devs from dynamically typed that want high performance with high level constructs and much less cognitive overhead |
17:36:56 | miran | dom96: ...and that makes your comments about the article even more powerful ;) |
17:37:36 | FromGitter | <Bennyelg> loadHtml wont work if there are javascript inside :( |
17:37:42 | miran | on the other hand, if there will be no comments in next 30 min or so, maybe a better idea would be to delete it and then repost it tomorrow or some other day... |
17:38:23 | Yardanico | Bennyelg: webdriver is a different thing |
17:38:26 | miran | offtopic: what are the chances to see something like this work in nim? |
17:38:29 | miran | `if something == somethingElse == thirdSomething:` |
17:38:30 | TjYoco | I just started learning Rust this morning, and its alright but I think Nim will be better once it gets all the libraries and support other languages have |
17:38:38 | Yardanico | it launches a real browser, and real browser does all JS evaluation/html parsing for you |
17:38:52 | Yardanico | so you can just query html elements via xpath/css selectors and some more |
17:38:57 | FromGitter | <Bennyelg> @Yardanico I know webDrive is really open a webpage |
17:39:10 | FromGitter | <Bennyelg> I dont need all of this overhead |
17:39:19 | FromGitter | <Bennyelg> Just want to read the page like beautifulsoup does |
17:39:32 | Yardanico | well use nimquery + htmlparser |
17:39:41 | dom96 | yeah, you don't need web driver for that |
17:39:49 | dom96 | miran: submit it as an issue on github |
17:40:46 | dom96 | well I submitted on Reddit too |
17:41:01 | dom96 | Disappointed with HN |
17:41:19 | miran | i might, but i'm not sure how would this work as currently this becomes `[bool] == [T]`. is it possible for (first) `==` not to return bool? |
17:41:23 | dom96 | oh cool, mratsim commented |
17:42:03 | planetis[m] | hey I spotted a typo under section 'Syntax for humans' |
17:42:10 | dom96 | miran: this would require compiler changes |
17:42:23 | planetis[m] | I believe it is: Rc<RefCell<Box>> |
17:43:30 | Yardanico | btw maybe I'll close issues/add labels (almost no one wants to do this work) to them after araq gives me a permission on github |
17:44:06 | FromGitter | <mratsim> I’ve created a HN account and added a coment |
17:45:37 | FromGitter | <mratsim> @planetis[m] Isn’t that what I wrote? |
17:46:10 | Yardanico | maybe he was referring to the fact that this isn't properly displayed on your website |
17:46:27 | Yardanico | it's displayed as Rc<RefCell<Box>> |
17:47:31 | * | Trustable joined #nim |
17:47:41 | FromGitter | <mratsim> I think gitter is doing something strange, but I double-checked and now it has the weirg < |
17:47:41 | planetis[m] | yes what Yardanico said |
17:50:02 | FromGitter | <mratsim> I’ll post on programming as well |
17:50:04 | FromGitter | <mratsim> reddit* |
17:51:19 | * | vlad1777d quit (Remote host closed the connection) |
17:51:24 | FromGitter | <mratsim> ah it was done already! |
17:52:50 | * | vlad1777d joined #nim |
17:54:10 | libman | miran: How would chaining work with other comparison operators? |
17:54:22 | Yardanico | libman, 0 < x < 10 |
17:54:37 | Yardanico | well miran is just talking about python comparasion operators (that's how they work) |
17:54:51 | miran | libman: like in python :) (see Yardanico's example) |
17:55:10 | Yardanico | miran, anyway this would break a lot of code |
17:55:15 | Yardanico | and requires syntax change |
17:55:37 | miran | syntactic sugar for `a < x and x < b`, or `a == x and x == b` |
17:55:51 | miran | Yardanico: yeah, i thought it might be though to implement it |
17:58:18 | Araq | Nim has x in a..b instead |
17:58:26 | Araq | which is better to read anyway |
17:59:37 | miran | Araq: this is nice, didn't know about this one |
18:02:09 | Yardanico | Araq, hi, will you do a livestream ? :) |
18:02:25 | Araq | in one hour |
18:02:28 | Yardanico | yay |
18:02:32 | couven92 | yaih! :) |
18:02:35 | Araq | same time as yesterday, as I said |
18:02:37 | * | nsf quit (Quit: WeeChat 1.9) |
18:02:41 | Yardanico | if someone didn't vote yet - http://www.strawpoll.me/14152674 |
18:02:47 | Yardanico | but I doubt results will change too much |
18:03:25 | FromGitter | <mratsim> “lifestream” ? |
18:03:47 | miran | "choose life. choose nim." :D :D |
18:03:52 | Araq | lol |
18:03:59 | Araq | I keep doing this typo |
18:04:01 | FromGitter | <mratsim> (https://files.gitter.im/nim-lang/Nim/rW4c/2017-10-15_20-03-41.png) |
18:04:41 | Yardanico | yeah, it's the problem if you don't speak english natively :P |
18:04:46 | Yardanico | live/life mistakes |
18:04:47 | Araq | strange, I remember seeing it spelt correctly |
18:15:14 | dom96 | miran: :D |
18:17:27 | FromGitter | <mratsim> Why? |
18:17:35 | FromGitter | <mratsim> (https://files.gitter.im/nim-lang/Nim/Rgld/2017-10-15_20-17-08.png) |
18:17:54 | * | Jesin joined #nim |
18:18:41 | FromGitter | <mratsim> maybe dom96 is blacklisted :p |
18:19:20 | dom96 | maybe |
18:19:42 | dom96 | Feel free to submit again |
18:20:54 | FromGitter | <mratsim> well it’s fine, I don’t really care :) |
18:21:09 | FromGitter | <mratsim> Though I don’t understand why there is 33% downvote on Reddit |
18:21:21 | Yardanico | is "crash" label in issues is related to compiler crashes or program crashes? |
18:21:25 | Yardanico | or both? |
18:21:30 | dom96 | compiler |
18:21:38 | dom96 | mratsim: it would be nice to get it on the front page |
18:21:41 | dom96 | it's a good article |
18:22:12 | FromGitter | <mratsim> So how does it work, you delete and I repost? |
18:22:16 | miran | mratsim: don't look too hard on numbers on reddit - they are intentionally fake |
18:22:29 | FromGitter | <mratsim> ah yeah that’s true |
18:23:22 | dom96 | mratsim: just post |
18:23:37 | dom96 | Add `?ref=hn` to the URL or something like that if it complains that it's a duplicate |
18:24:41 | miran | mratsim: see the HN rules if you can post it as `show HN`, might increase the visibility |
18:25:20 | miran | and i would recommend deleting original (dom96's link), so nobody flags it as duplicate |
18:25:57 | miran | and when you do post it, write a short tl;dr comment |
18:26:21 | dom96 | sadly it seems I cannot remove my post |
18:27:35 | miran | from the rules: "Blog posts, sign-up pages, and fundraisers can't be tried out, so they can't be Show HNs." |
18:28:02 | FromGitter | <mratsim> Well I can use the github library |
18:28:19 | FromGitter | <mratsim> But it might be better at another time |
18:29:05 | miran | yeah, posting link to github as 'show HN', and then post the link to the blog in the comments - this might work best to get some views/comments/upvotes/visibility |
18:31:31 | FromGitter | <mratsim> "You're posting too fast. Please slow down. Thanks." |
18:46:45 | Yardanico | Araq, should we maybe add "performance" label to issues? |
18:48:17 | Araq | did you follow my invitation? |
18:48:32 | * | nsf joined #nim |
18:48:50 | Yardanico | Araq, yes |
18:48:58 | Yardanico | I already closed two issues and added some labels :P |
18:49:53 | Yardanico | *three issues |
18:50:42 | * | gokr joined #nim |
18:52:28 | * | Nobabs27 joined #nim |
18:53:50 | FromGitter | <Bennyelg> :D |
18:53:58 | FromGitter | <Bennyelg> Dont forget to post a link to the stream. |
18:54:09 | Yardanico | https://go.twitch.tv/araq4k |
18:54:15 | Yardanico | he hasn't started yet |
18:54:24 | FromGitter | <Bennyelg> @Yardanico I'll be glad to help fixing bugs, But I dont know where to start yet :P |
18:54:42 | Yardanico | well today araq will improve nimpretty tool |
18:54:49 | Yardanico | which is something like "gofmt" for nim |
18:55:01 | FromGitter | <Bennyelg> I know I use gofmt alot |
18:55:10 | FromGitter | <Bennyelg> sounds interesting |
18:58:18 | * | Nobabs27 quit (Quit: Leaving) |
19:06:35 | miran | when will the stream start approximately? |
19:07:20 | Yardanico | miran, in current hour |
19:07:26 | couven92 | an hour ago Araq said in an hour... so now :P |
19:07:31 | miran | :) |
19:09:34 | * | UxerUospr joined #nim |
19:10:52 | FromGitter | <Bennyelg> @Yardanico I made working on some fix |
19:11:04 | FromGitter | <Bennyelg> how do I re compile all the nim project to verify if it's working? |
19:11:15 | * | marcux joined #nim |
19:11:26 | Yardanico | cd into nim compiler directory |
19:11:35 | Yardanico | ./koch temp |
19:11:55 | Araq | ready? |
19:11:58 | Yardanico | Araq, yep |
19:12:17 | Yardanico | Bennyelg: but you would probably want to test it on real file |
19:12:18 | Yardanico | so use |
19:12:19 | FromGitter | <Bennyelg> Ya |
19:12:19 | couven92 | yes :) |
19:12:24 | Yardanico | "./koch temp c myfile.nim" |
19:12:44 | FromGitter | <Bennyelg> Ok thanks |
19:14:17 | Yardanico | Araq, maybe remove this obs thing for now? it takes a lot of space :) |
19:14:19 | miran | Araq: please zoom in (ctrl+=) so we can read the code |
19:14:43 | dom96 | Araq: and remove the Browser Source... |
19:15:08 | dom96 | there we go |
19:15:14 | miran | great! |
19:15:20 | dom96 | but no chat then |
19:15:29 | dom96 | pity |
19:15:58 | dom96 | You really should do a little intro |
19:16:11 | dom96 | No idea what you're doing :\ |
19:18:33 | Yardanico | Araq, about chat: you almost did it, you just need to right click on browser source and configure it |
19:18:47 | Yardanico | you should add url in properties of this source |
19:18:58 | Yardanico | not in its' name :) |
19:20:19 | dom96 | Araq: nah |
19:20:22 | * | yglukhov_ quit (Remote host closed the connection) |
19:20:22 | dom96 | There is no point |
19:20:30 | couven92 | Araq, just proceed :) |
19:20:31 | dom96 | Since you don't have a second screen to check the chat anyway |
19:20:35 | Yardanico | ah, yeah, true |
19:20:50 | Yardanico | it would only be useful if we would embed irc logs there :P |
19:21:02 | dom96 | ... |
19:21:11 | dom96 | of course you should use a second screen :P |
19:21:26 | dom96 | heh, you could actually embed IRC logs in there |
19:21:43 | dom96 | Would just need to get it to refresh every second and scroll down |
19:22:07 | Yardanico | or create a plugin for OBS in Nim :) |
19:22:19 | dom96 | too much work :P |
19:22:49 | dom96 | I'm seeing incorrect formatting already :\ |
19:23:12 | dom96 | 1. Don't change my commas to semicolons |
19:23:24 | dom96 | 2. Pragmas are formatted incorrectly IMO |
19:23:31 | dom96 | {.\n is ugly |
19:23:33 | Yardanico | well it's very buggy now |
19:23:48 | dom96 | yeah, well, I'm just giving feedback |
19:24:09 | Yardanico | Firstly he need to ensure that code produced by nimpretty can be compiled |
19:24:14 | dom96 | wow, that's really broken hah |
19:26:13 | federico3 | where's nimpretty? |
19:26:21 | dom96 | tools/nimpretty |
19:26:29 | dom96 | Keeping newlines is a big thing |
19:26:47 | dom96 | I'm not sure whether tying this to the compiler so closely is the right way to implement this |
19:27:18 | Yardanico | dom96, this way it would be easier to implement nimpretty |
19:27:40 | Yardanico | gofmt uses compiler too |
19:28:55 | dom96 | okay, I thought he would just say "nah, let's just ignore the newlines" :) |
19:29:04 | Yardanico | xd |
19:29:15 | Yardanico | ah |
19:29:32 | Yardanico | so with current nimpretty implementation usual comments will be lost |
19:29:32 | dom96 | I'm curious how he will implement it |
19:29:43 | dom96 | Additional metadata inside an AST node? |
19:29:45 | Yardanico | probably by changing AST so usual strings are saved too :P |
19:29:58 | Yardanico | yeah |
19:30:11 | Yardanico | s/strings/comments |
19:31:10 | dom96 | lol |
19:32:04 | dom96 | This feels dirty to me. It's easy to add this define but it results in less maintainable code. |
19:32:08 | Yardanico | yeah |
19:32:23 | Yardanico | it's not very good that compiler has special cases for nimpretty :) |
19:32:28 | Yardanico | maybe this would be resolved in the future |
19:32:44 | Yardanico | ah, so I get the issue he's getting |
19:32:50 | Yardanico | the lexer ignores usual comments |
19:32:55 | Yardanico | so offsets are wrong |
19:38:14 | federico3 | https://github.com/FedericoCeratto/nimfmt this is also doing basic formatting but there isn't an easy way to prevent stripping comments |
19:39:23 | couven92 | Araq, shouldn't we really have two different AST nodes for docComments and Comments? |
19:39:48 | Yardanico | for docs |
19:41:28 | dom96 | Parenthesis around an if condition? what is this? C? :) |
19:41:37 | couven92 | Araq, multiple-byte unicode-runes maybe? |
19:41:50 | Yardanico | no |
19:41:58 | Yardanico | I think it can't be that |
19:42:10 | couven92 | always a good guess for string off-by-one :P |
19:42:16 | dom96 | For those that missed the link: https://go.twitch.tv/araq4k |
19:43:04 | * | yglukhov joined #nim |
19:43:12 | * | TjYoco quit (Quit: Leaving) |
19:43:26 | couven92 | he loves his nimsuggest, but stil he mumbles: "I hate auto-completion" |
19:43:33 | couven92 | :D |
19:43:54 | Yardanico | because it doesn't work sometimes :P |
19:43:59 | Yardanico | especially in the compiler |
19:44:07 | couven92 | yeah... yaiks |
19:44:12 | dom96 | two comments maybe? |
19:44:32 | dom96 | Araq: ^ |
19:44:36 | Yardanico | Araq, maybe try to add comments before this proc? |
19:45:04 | Yardanico | oh |
19:45:09 | Yardanico | it doesn't seem so |
19:45:12 | couven92 | Araq, split up the prameter list into multiple lines, each parameter on a single line and a comment at the end! |
19:45:13 | dom96 | interesting |
19:45:22 | couven92 | (full out crzay mode :P ) |
19:45:25 | Yardanico | couven92, lol |
19:45:39 | Yardanico | couven92, maybe convert echo to e_C_h_O then ? |
19:45:45 | * | dawkot joined #nim |
19:45:48 | couven92 | Yes!!! |
19:46:06 | couven92 | Araq, BTW, it's VS Code, not Visual Studio! :P |
19:46:37 | libman | nimpretty is too girly. How about nimclean? |
19:46:55 | Yardanico | lol |
19:47:22 | dom96 | nimfabulous |
19:47:32 | Yardanico | nim2nim |
19:47:42 | couven92 | Yardanico, nice1 |
19:47:42 | dom96 | 2fast2nim |
19:47:59 | libman | nimspruce? http://www.thesaurus.com/browse/handsome |
19:48:17 | couven92 | ooh dom96 as in: I wrote lazyly and too fast to produce nice nim code? |
19:48:44 | dom96 | hah, sure. Honestly I just like Fast and Furious and thought I'd make a joke :P |
19:48:51 | couven92 | :D |
19:49:33 | dom96 | lol |
19:49:35 | Yardanico | btw, we have 2888 issues closed, only 112 for 3000 ! |
19:49:44 | dom96 | "Usually I just test these things until they work" -- Andreas Rumpf |
19:50:01 | couven92 | dom96, should put that somewhere in the nim docs! |
19:50:05 | Yardanico | https://github.com/nim-lang/Nim/issues?q=is%3Aissue+is%3Aopen+label%3AFeature |
19:50:07 | dom96 | :D |
19:50:09 | Yardanico | 175 issues are features |
19:50:10 | miran | Yardanico: so you want to say - it is time to write some more issues? :P :D |
19:50:14 | couven92 | problably in the testament documentation |
19:50:15 | Yardanico | miran, *to close |
19:50:40 | Yardanico | yay he fixed it |
19:50:48 | * | ipjk joined #nim |
19:50:52 | dom96 | Araq: Now that you've fixed that, change semicolons to commas pleassseeeeee |
19:51:01 | dom96 | it makes me twitch |
19:51:05 | dom96 | (get it? :P) |
19:51:16 | Yardanico | it would require change in the compiler again :) |
19:51:17 | * | couven92 facepalms |
19:51:20 | Yardanico | change renderer.nim |
19:51:29 | dom96 | yeah, and he should change it |
19:52:36 | dom96 | Araq: The renderer should do it intelligently then |
19:52:46 | dom96 | instead of putting everything as semicolon |
19:52:48 | Yardanico | Araq, ; is actually very useful with "using" |
19:52:58 | Yardanico | it's required if you're using "using" (lol) |
19:53:37 | dom96 | vote |
19:53:44 | dom96 | So, who's voting with me? :P |
19:53:55 | dom96 | commas for life, am I right? |
19:55:12 | FromGitter | <mratsim> There’s a reason why one of the most popular format is called Comma Separated Value and not Semicolon Separated Value ;) |
19:55:13 | couven92 | Semicolon FTW! |
19:55:19 | planetis[m] | dom96: commas for life ;;;;;;;;) |
19:55:24 | * | couven92 ducks for incoming shots |
19:56:02 | * | ketralnis joined #nim |
19:56:24 | dom96 | Btw, did you guys notice? 137 users here. |
19:56:38 | dom96 | It seems to hover around this number lately |
19:56:41 | Yardanico | dom96, is that low? |
19:56:44 | dom96 | A couple months ago it was ~100 |
19:57:05 | dom96 | I need to implement user count tracking for NimBot |
19:57:09 | dom96 | Maybe in a stream :) |
19:57:59 | FromGitter | <mratsim> My Nim productivity was 0 today >_>, blog posting ruins code |
19:59:22 | Yardanico | dom96, and you don't account for gitter users :) |
19:59:37 | Yardanico | sadly there's no way to get online users in gitter |
20:00:27 | * | dawkot quit (Quit: Page closed) |
20:03:44 | dom96 | Araq: Shouldn't it align with the above condition? ;) |
20:04:06 | couven92 | Araq, indent one more level than the previous line |
20:04:20 | dom96 | Araq: yeah |
20:04:53 | dom96 | what you assumed was what I meant |
20:04:57 | couven92 | Shouldn't it be +2 |
20:05:02 | couven92 | Araq ^ |
20:05:11 | dom96 | true, it's weird. What does PEP-8 say? |
20:05:16 | Yardanico | pep8? |
20:05:17 | planetis[m] | you can't do something similar to {.strdefine.} right? |
20:05:24 | federico3 | pep8 would indent the second line twice |
20:05:33 | dom96 | federico3: oh ok |
20:05:40 | dom96 | then we're in line with it, good |
20:06:04 | * | Vladar quit (Quit: Leaving) |
20:06:12 | Yardanico | https://www.python.org/dev/peps/pep-0008/#indentation |
20:06:34 | Yardanico | there are actually 3 options |
20:06:43 | Yardanico | first one is like suggested by dom96 |
20:06:44 | couven92 | Araq, uhm shouldn't you rename 'longIndentWid' to 'longIndentWidth'? |
20:07:02 | Yardanico | well it's just a temporary name |
20:07:13 | federico3 | Yardanico: teh second one is the most used for function definitions in order not to "waste" space |
20:07:16 | Yardanico | he usually changes these before push |
20:07:43 | couven92 | Yaih! PRs FTW! |
20:08:18 | couven92 | I did the assignable documentation comment AST node... So, I guess I'll have a go at Comment AST nodes later |
20:08:53 | Yardanico | well comment ast nodes were removed because you can't put them anywhere you want |
20:09:03 | Yardanico | now they're simply ignored |
20:09:13 | couven92 | yeah I know... we could do that properly |
20:09:51 | couven92 | But I don't fancy a multiline comment node... I'd just detect a newline and make it automatically render as newline if there is one |
20:10:54 | couven92 | Hmm... actually doing everthing stupidly as a multi-line `#[]#` node by default would actually be way easier... :P |
20:11:41 | Yardanico | yay it works |
20:11:53 | Yardanico | couven92, you can also have multi-line documentation comments |
20:11:55 | Yardanico | ##[stuff]## |
20:12:10 | couven92 | Yardanico, yeah but that already works |
20:12:57 | * | ofelas quit (Quit: shutdown -h now) |
20:13:01 | couven92 | Araq, enable "editor.renderWhitespace": "all" in your vs code setting maybe? Nice for doing this indenting stuff |
20:13:16 | Yardanico | Araq, maybe you'll add an option to change indentation levels in the file? so if someone wants to change 4 spaces -> 2 spaces |
20:16:44 | couven92 | Araq, maybe remove all empty lines and wrap sections into unnamed blocks instead? |
20:17:30 | couven92 | okay... :D |
20:18:22 | * | vlad1777d quit (Ping timeout: 260 seconds) |
20:20:39 | couven92 | Araq, shouldn't that tuple be named |
20:20:54 | Yardanico | nah |
20:21:43 | * | Trustable quit (Remote host closed the connection) |
20:21:51 | couven92 | oooh... Delphi! |
20:22:17 | couven92 | I remember some really dark days from when I went to school! :O |
20:24:06 | dom96 | hrm, I wonder if there is software that I could put on my server that would redirect Twitch to other streaming services to save me bandwidth |
20:24:15 | couven92 | I like how he said that he thinks semicolons are better for readability, but you never see the semicolon in his or any other codebase |
20:24:15 | dom96 | if not then that would be a good project :) |
20:25:19 | couven92 | I have actually only seen the semicolon in repr(NimNode) outputs from macros |
20:25:50 | Yardanico | dom96, there's |
20:26:37 | Yardanico | https://restream.io |
20:26:48 | dom96 | of course it exists |
20:27:16 | Yardanico | but if you want to have different quality on different platforms - you need to pay |
20:27:24 | couven92 | Araq, it should really reduce multiple adjacent newlines into a single new-line, right? |
20:27:26 | Yardanico | to transcode |
20:28:13 | federico3 | that should be configurable, e.g. 2 newlines before a new proc etc.. |
20:28:27 | dom96 | federico3: the idea is to not make this configurable |
20:28:29 | Yardanico | yes |
20:28:31 | dom96 | we should have one true style |
20:28:40 | Yardanico | the idea is to have one standart style |
20:28:56 | federico3 | for the compiler, yes. For other projects it should be configurable |
20:29:06 | Yardanico | https://github.com/golang/go/blob/master/src/cmd/gofmt/doc.go as you can |
20:29:11 | Yardanico | see, it's not configurable |
20:29:14 | miran | dom96: one true style in a language where you can write foo(bar), foo bar, bar.foo, bar.foo()? :D |
20:29:33 | Yardanico | I don't see why nimpretty is needed if it would be configurable |
20:29:36 | Yardanico | only indentation maybe |
20:29:52 | miran | and foobar, fooBar, foo_bar, etc. :D |
20:29:57 | federico3 | Yardanico: the variable styles as well |
20:30:04 | Yardanico | e_C_h_O("hi") |
20:30:08 | Yardanico | miran, ^ |
20:31:13 | dom96 | miran: true |
20:31:50 | dom96 | Araq: What do you think? nimpretty won't be configurable right? |
20:31:53 | couven92 | Araq, i'd do parentheses around the expression if it weren't a leaf node... And then have spaces between operators. That would be consitent and it would be obvious of what you do... |
20:31:57 | dom96 | It's one style to rule them all |
20:32:04 | couven92 | nimpretty should not be configurable |
20:32:09 | dom96 | and now I want to rewatch LOTR |
20:32:17 | couven92 | :D |
20:32:23 | federico3 | that means throwing away the whole style insensitivity feature |
20:33:01 | dom96 | but then federico3 is right |
20:33:24 | federico3 | I'm talking about the use case of users wanting to style proc names and vars in their own codebase |
20:33:52 | federico3 | I implemented such style check in my little nimfmt tool |
20:34:35 | dom96 | Araq: Hrm. But I don't want nimpretty to keep "eCho()" if I accidentally misspell |
20:34:36 | federico3 | Araq: a lot of people complain that style insensitivity is dangerous because style will easily get inconsistent within the *same* project |
20:34:51 | federico3 | ..if it's developed by a large enough team |
20:35:33 | dom96 | yeah |
20:35:38 | federico3 | dom96: yep. And also warn for mistakes like mixing Https HTTPs ... |
20:35:48 | couven92 | Hmm... I'm envisioning a nimidentconsitency tool which **WOULD** be configurable |
20:35:55 | dom96 | well, I wouldn't warn, just fix the mistakes |
20:36:47 | couven92 | whooohooo! The ominous semicolon returns |
20:36:58 | miran | couven92: :D |
20:37:17 | federico3 | dom96: sometimes the tool would not know how to fix them |
20:37:44 | dom96 | then how would it know to warn? |
20:37:55 | dom96 | I guess the warnings would be false sometimes |
20:38:00 | FromGitter | <mratsim> Python linter is extremely annoying style wise … + it spams the “problem” pane in VScode if it isn’t happy |
20:38:02 | dom96 | which would make them really easily to be ignored :\ |
20:38:10 | couven92 | Hmm... I'm this close to opening the nim repo and do a blind search on the occurance of `\s?;\s` :P |
20:38:27 | dom96 | IMO the best solution is to add a list of common acronyms, it's not perfect but it's a start: CSS, HTTP, FTP, etc. |
20:38:29 | federico3 | currently my nimfmt is printing out a warning if 2 different variable names in the same file are in collision |
20:38:38 | miran | mratsim - you can set it up to ignore some warnings/errors |
20:38:44 | dom96 | Then nimpretty would know to format it as 'Css' etc. |
20:39:03 | federico3 | dom96: one reason more to make a list of configurable acronyms |
20:39:26 | dom96 | I wonder how gofmt handles this |
20:39:42 | miran | btw mratsim - the thread on reddit seems popular (and some comments might need your reply/clarification) |
20:39:56 | FromGitter | <mratsim> ah, will check |
20:40:09 | couven92 | see how bad it is when VS Code and nimsuggest don't play nice together in the Nim main repo?!?!? |
20:40:45 | Yardanico | they do for me |
20:41:24 | federico3 | there are also "legitimate" collisions where user_data and use_rdata have different meanings and warning would be useful |
20:41:37 | miran | couven92: i've noticed recently that nimsuggest suddenly stops working. restarting vsc helps.... |
20:41:39 | couven92 | Araq, maybe token.ident is levels not amount of spaces? |
20:41:56 | Yardanico | I get more nimsuggest crashes while using a lot of macros than in the main repo |
20:42:13 | couven92 | *indent |
20:42:34 | couven92 | because everything got indented 4 spaces instead of two? |
20:42:56 | couven92 | or did I see it wrong? |
20:43:18 | Yardanico | dom96, can we remove https://github.com/nim-lang/Nim/tree/asyncmacro branch? |
20:43:25 | Yardanico | I just want to get rid of old branches |
20:43:43 | * | Jesin quit (Ping timeout: 248 seconds) |
20:43:45 | dom96 | nooo, it's part of history :) |
20:44:15 | dom96 | I'll clean up my branches |
20:44:19 | Yardanico | https://github.com/nim-lang/Nim/commit/731c6f9083d3e09bbe06f0a95460c1ca715f936c |
20:44:22 | Yardanico | :DD |
20:45:51 | * | claudiuinberlin quit (Quit: Textual IRC Client: www.textualapp.com) |
20:51:17 | couven92 | Araq, both use strVal |
20:52:12 | couven92 | ah, no that is for the AST api in the macros |
20:52:18 | dom96 | hrm, I wonder if we can pull the number of PRs for each language ourselves and see how Nim stacks up: https://octoverse.github.com/ |
20:52:22 | couven92 | no idea what the lexer does |
20:52:58 | couven92 | sry |
20:53:17 | Yardanico | I wanted it to be a nim PR :) |
20:53:18 | Yardanico | https://github.com/openshift/openshift-docs/pull/4509 |
20:53:29 | Yardanico | it's the 100 millionth PR |
20:56:07 | dom96 | http://blog.booleanbiotech.com/dna-alignment-with-python-nim-and-javascript.html |
20:56:34 | couven92 | Araq, what about multiple consecutive single-line comments with an empty newline in between? |
20:58:33 | * | miran quit (Quit: Leaving) |
20:58:43 | * | smt` joined #nim |
20:58:45 | Yardanico | what #nim-adults channel is about lol ? :) |
20:59:07 | couven92 | Araq, non-doc comments? |
20:59:23 | couven92 | because non doc-comments probably should **NOT** be merged, right? |
21:00:51 | Yardanico | btw guys, I recommend you to install Rainbow Brackets extension for vscode |
21:00:55 | Yardanico | it's actually cool |
21:01:09 | Yardanico | https://marketplace.visualstudio.com/items?itemName=2gua.rainbow-brackets |
21:02:02 | * | smt quit (Ping timeout: 255 seconds) |
21:02:11 | couven92 | Araq, how does that work with doc comments of empty procs? like importc procs? |
21:02:34 | couven92 | i.e. procs that do not have an = but have a doc comments |
21:03:41 | couven92 | Araq! importc |
21:04:45 | couven92 | Araq, and also fields of types, enums |
21:05:38 | * | Jesin joined #nim |
21:07:22 | * | JappleAck quit (Quit: Leaving) |
21:07:44 | couven92 | Araq, indent handling must precede comment handling? |
21:07:54 | couven92 | would that solve anything? |
21:10:10 | couven92 | Araq, idea: add preceedingComment and followingComment to all token nodes instead of having just comment |
21:11:37 | couven92 | Araq, the comment token would be attached to both |
21:11:53 | couven92 | and then you could detect that edge case if you needed to |
21:12:25 | * | yglukhov quit (Read error: Connection reset by peer) |
21:12:44 | couven92 | Araq, start every nim AST with an emptyNode |
21:13:00 | * | yglukhov joined #nim |
21:13:51 | couven92 | sorry I am being distracting... oops |
21:14:01 | couven92 | AST stuff is sooo much fun! :D |
21:19:34 | * | UxerUospr quit (Ping timeout: 258 seconds) |
21:28:27 | couven92 | nice! |
21:28:30 | couven92 | :D |
21:28:34 | Yardanico | LOL |
21:29:32 | couven92 | oh! Wow |
21:29:54 | couven92 | that worked impressively well: okay simple solutions: just remove some comments |
21:29:56 | couven92 | :P |
21:32:40 | couven92 | Hmm, he still get's four-space-indents, right? it's not just my poor eyesight? |
21:32:53 | couven92 | s/get's/gets/^ |
21:37:06 | Yardanico | Araq, that was very interesting! |
21:37:10 | Yardanico | thanks |
21:37:23 | couven92 | AST stuff is soooo much fun! :) |
21:37:26 | dom96 | Araq: Nice :) |
21:37:32 | couven92 | And a headache at the same time :P |
21:40:17 | Yardanico | we have a lot of issues because of issues like this: https://github.com/nim-lang/Nim/issues/4951 |
21:44:43 | * | vlad1777d joined #nim |
21:46:29 | FromGitter | <mratsim> @dom96, soon on Hacktoberfest shirt? https://github.com/nim-lang/Nim/commit/4789aa979dd43a83ffcb9eeefdc0420a0dbd7589 |
21:47:04 | Yardanico | it doesn't count :( |
21:47:07 | Yardanico | only PRs |
21:47:12 | Yardanico | and he did that on stream |
21:51:02 | Yardanico | I've added a bit of Crash labels: https://github.com/nim-lang/Nim/issues?utf8=%E2%9C%93&q=is%3Aissue%20is%3Aopen%20label%3ACrash%20 |
21:51:05 | Yardanico | (compiler crashes) |
21:57:14 | Araq | btw I don't buy these "style insensitivity is a problem for bigger teams" arguments. In Java I could have classes DateTime and Datetime at the same time. Where is all the tooling support to catch this? There is none, because it's a non-issue. |
21:57:39 | Araq | it's the primary example of "I can imagine this will cause problems" |
21:57:52 | Araq | a non-argument, name something where it doesn't apply. |
21:58:14 | Araq | I can imagine problems everywhere, yes. congratulations. |
21:59:34 | Araq | the only thing that matters is "I actually have been bitten by this. In the real world. Often." |
22:00:24 | couven92 | Araq, for the escape-sequence in raw-literals: Maybe keep a raw this-is-how-the-lexer-read-it value on tokens? The issue probably also applies for numeric literals (i.e. float with decimal vs. e-notation) |
22:01:16 | couven92 | this would probably also deal with trailing/leading whitespace in multi-line comments |
22:02:34 | Araq | couven92: but that problem was solved. the only remaining problem is comments |
22:02:44 | * | marcux quit (Remote host closed the connection) |
22:02:49 | couven92 | ah, okay |
22:02:54 | couven92 | sorry :P |
22:15:10 | FromGitter | <zacharycarter> https://imgur.com/a/kCTAF |
22:24:57 | * | gokr quit (Ping timeout: 240 seconds) |
22:31:53 | * | nsf quit (Quit: WeeChat 1.9) |
22:33:07 | * | yglukhov quit (Remote host closed the connection) |
22:37:07 | Yardanico | lol |
22:37:07 | Yardanico | https://github.com/nim-lang/Nim/milestone/1 |
22:37:24 | Yardanico | Past due by about 3 years |
22:46:16 | federico3 | sigh |
23:02:59 | * | UxerUospr joined #nim |
23:04:27 | Yardanico | ok, I've added "object variants" and "performance" labels today |
23:06:46 | * | zolk3ri quit (Quit: Lost terminal) |
23:10:06 | * | Yardanico quit (Remote host closed the connection) |
23:24:41 | FromGitter | <zetashift> What are object variants? |
23:26:44 | FromGitter | <Yardanico> Objects which can have different fields depending on their special "kind" field |
23:27:19 | FromGitter | <Yardanico> https://nim-lang.org/docs/manual.html#types-object-variants |
23:27:37 | * | arnetheduck joined #nim |
23:32:34 | FromGitter | <zetashift> So yea different fields depending on which branch is active? |
23:32:52 | FromGitter | <zetashift> I should probably read the manual when I'm done with the book haha |
23:33:39 | * | yglukhov joined #nim |
23:33:44 | FromGitter | <Yardanico> Yeah, different fields |
23:34:02 | FromGitter | <Yardanico> Useful for nodes/asts/parsers |
23:34:19 | FromGitter | <Yardanico> Compiler uses a lot of them |
23:34:36 | FromGitter | <zetashift> Languages like OCaml have them right? That's why they often are used for writing compilers no? |
23:35:03 | FromGitter | <zetashift> I read about them I think but they were just called variant type |
23:35:04 | FromGitter | <zetashift> s |
23:37:57 | * | yglukhov quit (Ping timeout: 240 seconds) |