00:00:16 | FromGitter | <tim-st> It seems when using VsCode I can't go to definition of a type that written as a paramter of a proc |
00:00:45 | Yardanico | it should work |
00:01:07 | FromGitter | <tim-st> I see only builtin types like string dont work |
00:01:15 | Yardanico | works for me ™ |
00:01:43 | Yardanico | try latest nim compiler and latest nimsuggest ;) |
00:01:54 | FromGitter | <tim-st> proc test(name: string) <-- you can click on name -> go to definition? |
00:02:09 | FromGitter | <tim-st> I mean on string |
00:02:17 | Yardanico | yes |
00:02:37 | FromGitter | <tim-st> Now, it works for me too, before it didn't work |
00:02:40 | FromGitter | <tim-st> :O |
00:02:49 | FromGitter | <tim-st> like 5 times |
00:03:21 | FromGitter | <tim-st> maybe it was indexing or something |
00:08:22 | iAmSlow | hmm |
00:08:27 | iAmSlow | can somone explain me https://nim-lang.org/docs/lists.html |
00:08:46 | iAmSlow | Implementation of singly and doubly linked lists. Because it makes no sense to do so |
00:09:06 | iAmSlow | what does not make sens to do so? |
00:09:40 | iAmSlow | atm am trying to make like for loop to read all files names in dir |
00:10:02 | iAmSlow | so want to make lista and then append example *.png |
00:10:05 | FromGitter | <tim-st> If you want a list use sequence (seq) |
00:10:13 | Yardanico | iAmSlow, don't be mistaken |
00:10:14 | FromGitter | <tim-st> seq is basically the Python tyle list |
00:10:22 | FromGitter | <tim-st> *type |
00:10:29 | Yardanico | c# list is basically nim seq |
00:10:31 | iAmSlow | newer used python, will google seq |
00:10:37 | iAmSlow | ok ty |
00:10:42 | Yardanico | iAmSlow, please read nim tutorial :) |
00:10:46 | Yardanico | and manual |
00:10:52 | Yardanico | https://nim-lang.org/docs/manual.html#types-array-and-sequence-types |
00:10:56 | iAmSlow | i read little mostly cheated :) |
00:11:10 | iAmSlow | read this moste |
00:11:11 | iAmSlow | https://learnxinyminutes.com/docs/nim/ |
00:11:41 | iAmSlow | sombody needs to make a turorial like on codelove or codecademy would get more people to nim probbaly |
00:11:59 | Yardanico | iAmSlow, there are sequences in this tutorial |
00:12:00 | iAmSlow | meybe i should do it when i learn enought :) |
00:12:20 | FromGitter | <tim-st> Yes, for Python there should be one describing every single Python type as a nim type |
00:12:59 | Yardanico | there is |
00:13:06 | iAmSlow | Yardanico, yeap i read that but forgot , so i opend again and searched list and it told me there are list libs so i imported lists |
00:13:15 | Yardanico | well there isn't |
00:13:17 | Yardanico | but there is this - https://github.com/nim-lang/Nim/wiki/Nim-for-Python-Programmers |
00:13:27 | Yardanico | ah sorry |
00:13:38 | Yardanico | this article contains info about python vs nim types |
00:13:49 | Yardanico | https://github.com/nim-lang/Nim/wiki/Nim-for-Python-Programmers#from-python-to-nim |
00:14:08 | FromGitter | <tim-st> No, I meant left side, right side the 100 most used examples in Python as nim codes |
00:14:25 | FromGitter | <tim-st> if this exists, nim would already have a big user base |
00:14:49 | FromGitter | <tim-st> also Nim is much easier to program than the example on the main page lets me assume |
00:14:56 | Yardanico | ehm? |
00:15:03 | Yardanico | example on the main page is the simple nim syntax |
00:15:38 | FromGitter | <tim-st> `stdin.lines` is a killer for python users |
00:15:58 | Yardanico | they will read manual and tutorial of course :) |
00:16:03 | Yardanico | and they'll know what UFCS is |
00:16:11 | FromGitter | <tim-st> Nope, they don't |
00:16:29 | FromGitter | <tim-st> that is exactly what I wanted to say. It's the first impression |
00:16:55 | FromGitter | <tim-st> Many Python users are beginners and need very easy code and best with comments |
00:17:09 | Yardanico | well |
00:17:15 | Yardanico | nim is not a language for a beginner in programming |
00:17:56 | FromGitter | <tim-st> I would say people who can develop in Python can develop in nim too |
00:18:11 | Yardanico | but their nim code is... not the best ;) |
00:18:52 | FromGitter | <tim-st> Yes, it is just my assumption that this python comparison code examples in a prominent style could reach many users |
00:19:18 | Yardanico | but why we should tune everything to be python-like ? :) |
00:19:24 | FromGitter | <tim-st> in fact I heard the first time of nim like 8 years ago but now looked again to it^^ |
00:20:13 | FromGitter | <tim-st> I didn't mean to change it. I just meant to give Python developers (that are many) an easy start |
00:21:51 | iAmSlow | Yep i think Tim-ST is right moste people take first impresion |
00:22:27 | FromGitter | <tim-st> I just tell it because I have the feeling that nim is much better than the number of users let peple assume it is |
00:22:51 | FromGitter | <tim-st> Many people often complain about python performance but nobody tells them to look at nim |
00:23:00 | iAmSlow | for me nim docs is confusing compered to c# , you dont need to change main docs youst some interactive turtorial like on codecademy or codelove |
00:23:12 | FromGitter | <tim-st> Yes, absoultely |
00:23:33 | iAmSlow | and yep about that too i acidancly hard about nim |
00:23:44 | Yardanico | iAmSlow, why are nim docs confusing? |
00:23:47 | FromGitter | <tim-st> But I think people know of it, there are only a few developers unfortunately |
00:24:07 | FromGitter | <tim-st> They arent that easy to use like for example python |
00:24:10 | iAmSlow | but anyway its better to wait 1.0 then start codelove :) |
00:24:16 | FromGitter | <tim-st> or crystal is a bit easier to use |
00:24:37 | Yardanico | iAmSlow, 1.0 wouldn't change a lot |
00:25:06 | FromGitter | <tim-st> the docs are ok, just for beginners it's a bit hard, had the same feeling at start |
00:25:18 | dom96 | tim-st: improve them :) |
00:25:36 | dom96 | It's much easier to improve them while you still remember the problems you ran into |
00:25:42 | FromGitter | <tim-st> Yes, I planned to write a good python starters guide |
00:25:53 | FromGitter | <tim-st> yes, that's a good point |
00:25:57 | * | gokr quit (Ping timeout: 240 seconds) |
00:26:08 | Yardanico | tim-st: about compile time GCC vs Clang (on windows): gcc - 39sec, clang - 25 sec |
00:26:16 | Yardanico | (compiling nim compiler) |
00:26:33 | FromGitter | <tim-st> Thanks, so it seems clang is always faster |
00:26:36 | iAmSlow | about docs confusing, meybe you right , meybe they not at all i just searched walkFiles and got it, guess i was just too lazy :) |
00:26:38 | FromGitter | <tim-st> is it debug mode both? |
00:26:43 | Yardanico | no |
00:26:49 | Yardanico | release mode |
00:26:52 | FromGitter | <tim-st> debug same ratio? |
00:26:56 | Yardanico | IDK |
00:26:59 | Yardanico | will try |
00:27:33 | FromGitter | <tim-st> @iAmSlow Yes, everything is available but I'm also lazy and for lazy people the python docs are easier |
00:28:46 | FromGitter | <tim-st> @dom96 Also it would be good to tell people to use VsCode Editor. I used nim for 1month now, and now I found out that it's the best |
00:29:07 | Yardanico | what do you mean "tell" people? |
00:29:12 | Yardanico | almost everyone is using it :P |
00:29:24 | FromGitter | <tim-st> On github I found a list but Aporia had no binaries, and I found Sublime and thought it was the best |
00:29:34 | FromGitter | <tim-st> Like tell them in the docs |
00:29:43 | FromGitter | <tim-st> On the first page after download compiler |
00:29:57 | FromGitter | <tim-st> They need to know that everything is there |
00:30:37 | dom96 | The tutorial should take people through installing everything they need IMO |
00:30:50 | FromGitter | <tim-st> I would also add on the first page the most significant things like everything I (as person coming from Java, Python) asked here in chat, all other people will probaly have the same questions |
00:30:54 | iAmSlow | Docs are good for nim users its kinda bad for leazy people |
00:31:02 | Yardanico | iAmSlow, why? |
00:31:08 | Yardanico | we just need to have a proper nim installer |
00:31:13 | Yardanico | (for windows) |
00:31:17 | iAmSlow | am on linux |
00:31:22 | iAmSlow | nim instaled instant |
00:31:25 | iAmSlow | that not issue |
00:31:31 | Yardanico | iAmSlow, it's an issue on windows though |
00:31:47 | dom96 | I don't think it's that much of an issue |
00:31:48 | Yardanico | choosenim is a big step forward but still |
00:31:54 | iAmSlow | issue is skiping big chunks of turtorial marking in my head as boring |
00:32:06 | Yardanico | iAmSlow, well how can we change that? :P |
00:32:09 | dom96 | I would personally split up the tutorial into sections |
00:32:13 | iAmSlow | generaly people like to learn as doing, and forced would be best |
00:32:16 | dom96 | To make it easier to read |
00:32:21 | iAmSlow | no |
00:32:23 | dom96 | Two large parts is too much, it's easy to get lost |
00:32:25 | dom96 | and skip things |
00:32:32 | dom96 | and it's difficult to search for specific parts |
00:32:33 | iAmSlow | dont think thats thee issue |
00:32:58 | iAmSlow | we(or you i am probbaly too nowbie) shoud make it like on codelove |
00:32:58 | FromGitter | <tim-st> But of course the things I mentioned will only be interesting if you guys are really interested in a bigger users base. If you say "nim is only for pros" than probably the user base is already at maximum |
00:33:17 | dom96 | tim-st: hah, why would we ever say that? |
00:33:32 | iAmSlow | so you are forced cant skip stuff , i just now noticed styling text acidecnly, like good practices |
00:33:34 | Yardanico | well I mean that it would be insanely hard for a newbie in programming to learn nim |
00:33:38 | FromGitter | <tim-st> @Yardanico that something like this some minutes ago :D |
00:33:55 | Yardanico | I wrote that nim is not for beginners in programming |
00:34:11 | iAmSlow | like i say i think docs are good |
00:34:12 | FromGitter | <tim-st> No, I only know Python and Java and I feel quite good with nim after I asked like 30 questions |
00:34:21 | Yardanico | you're not a beginner :) |
00:34:33 | iAmSlow | did anyone of you try codecademy or codelove |
00:34:40 | Yardanico | iAmSlow, no |
00:34:43 | dom96 | IMO what sets Nim apart is that everyone can come into IRC and ask me or Araq questions |
00:34:47 | Yardanico | because they're boring for me :P |
00:34:52 | iAmSlow | try codelove |
00:34:56 | FromGitter | <tim-st> Ok, I meant with beginner people who dont know things about compiler etc |
00:34:57 | * | yglukhov quit (Remote host closed the connection) |
00:34:58 | iAmSlow | i will make you acount |
00:35:00 | dom96 | Doubt you can do that with other languages |
00:35:06 | Yardanico | dom96, IIRC you can do that with rust |
00:35:11 | Yardanico | or D |
00:35:31 | iAmSlow | it forces you to not skip stuff |
00:35:33 | Yardanico | tim-st: I've meant complete beginners |
00:35:39 | dom96 | I don't think D's devs hang out in IRC |
00:35:51 | FromGitter | <tim-st> @Yardanico Yes, ok that's true. |
00:35:57 | dom96 | Rust, sorta, but the creator of Rust doesn't really work on Rust anymore IIRC :P |
00:36:11 | iAmSlow | really rust creator abandon it |
00:36:21 | FromGitter | <tim-st> @dom96 Yes, I also have the feeling that it's a good thing, I also learn more this way |
00:36:23 | iAmSlow | ? |
00:36:29 | Yardanico | dom96, well that's not a big issue I think |
00:36:39 | FromGitter | <tim-st> but the downside is, that you dont get a question site like sx |
00:36:41 | Yardanico | because rust community is pretty large to be able to develop language further without main creator |
00:36:54 | dom96 | https://news.ycombinator.com/item?id=13533701 |
00:37:02 | Yardanico | lol |
00:37:03 | Yardanico | swift |
00:37:16 | dom96 | Apple poached a lot of programming language developers |
00:38:26 | Yardanico | dom96, btw, just noticed, D has similar page with organisations using D: |
00:38:32 | Yardanico | there's not a lot of them, but some of them are quite big |
00:38:33 | Yardanico | https://dlang.org/orgs-using-d.html |
00:38:46 | Yardanico | ebay/facebook/netflix |
00:38:54 | dom96 | of course they do |
00:39:30 | Yardanico | well, about facebook: " |
00:39:30 | Yardanico | This project is not actively maintained. Proceed at your own risk!" |
00:39:36 | Yardanico | last commit in 2015 |
00:40:11 | dom96 | Keep in mind that one of D's core devs worked at FB for a while |
00:40:30 | dom96 | Andrei Alexandrescu |
00:40:55 | dom96 | It's always worth looking into these things in more detail: https://github.com/netflix/vectorflow |
00:41:11 | Yardanico | yeah, not very big project |
00:41:37 | dom96 | I'm willing to guess that a lot of these projects are made by D fans working at these companies |
00:41:42 | dom96 | Without much company-wide support |
00:41:52 | dom96 | Which is still impressive |
00:42:17 | dom96 | but we're not far behind :) |
00:42:31 | Yardanico | well, about repo count on github |
00:42:47 | Yardanico | that's not a real comparasion, but still |
00:42:49 | Yardanico | D: 9k, nim: 1.8k |
00:43:02 | dom96 | how did you get these numbers? |
00:43:19 | Yardanico | apparently github search now gives proper results |
00:43:31 | Yardanico | https://github.com/search?o=desc&q=language%3AD&s=stars&type=Repositories&utf8=%E2%9C%93 |
00:43:44 | Yardanico | well not always |
00:43:52 | Yardanico | sometimes it's a liiiitle bit lower |
00:44:17 | Yardanico | crystal has 2621 |
00:44:36 | Yardanico | I really think that we need to create some project in nim which will gain a lot of stars :P |
00:44:51 | Yardanico | that's a real way to get more people into nim |
00:45:30 | dom96 | It always complains that the search took too long for me |
00:46:21 | dom96 | It does seem to vary around a similar range |
00:46:27 | dom96 | So it seems somewhat reliable |
00:46:28 | iAmSlow | i need to sleep , but like i say try codelove interactive turtorial i think adding nim to it or codecademy would bring more people and ofc getting some projects too |
00:46:34 | iAmSlow | cya |
00:46:36 | dom96 | I wish GitHub would make this work... |
00:46:48 | * | iAmSlow quit (Quit: Leaving) |
00:47:06 | dom96 | You know what a proven good way to get more users to Nim is? |
00:47:07 | dom96 | https://www.reddit.com/r/programming/comments/7moxyl/nim_in_2017_a_short_recap/ |
00:47:09 | dom96 | Blog posts! |
00:48:45 | * | Yardanico[Phone] joined #nim |
00:49:35 | * | Yardanico quit (Ping timeout: 248 seconds) |
00:51:59 | * | willprice quit (Ping timeout: 256 seconds) |
00:52:03 | Yardanico[Phone] | Wow, almost 140 upvotes |
00:54:05 | dom96 | yeah, sadly no HN front page though |
00:54:09 | dom96 | #sosad |
00:54:38 | FromGitter | <jaccarmac> RESF owns HN but have their little corner on Reddit I guess :P |
00:55:35 | dom96 | RESF? |
00:55:45 | FromGitter | <jaccarmac> Rust Evangelism Strike Force |
00:56:42 | dom96 | hah |
00:58:42 | Yardanico[Phone] | And there's not a lot of nimmers, but we're everywhere |
00:58:58 | Elronnd | I can't decide who's more annoying, the rust evangelists, or the not-rust evangelists |
01:01:09 | dom96 | There are dozens of us, dozens! |
01:01:25 | Xe | one of us |
01:01:27 | Xe | one of us |
01:02:10 | Yardanico[Phone] | There's also another community which is a bit similar to Nim (community-wise). And a lot of people ask "why it's needed?" too |
01:02:30 | Yardanico[Phone] | ReactOS |
01:02:48 | Yardanico[Phone] | open source windows implementation |
01:02:56 | Yardanico[Phone] | They're more crazy than we |
01:04:27 | Yardanico[Phone] | They've migrated to GitHub recently |
01:04:29 | Yardanico[Phone] | https://github.com/reactos/reactos |
01:07:26 | Elronnd | is "we" nim or reactos? |
01:08:15 | Yardanico[Phone] | ReactOS devs are crazier than Nim devs :D |
01:14:23 | Yardanico[Phone] | It's extremely hard to be windows-compatible (closed-source) |
01:28:43 | Araq | 1. some customers of MS got insight into Windows' source code. |
01:28:52 | Araq | 2. reverse engineers are really good |
01:29:10 | Araq | it's not "extremely" hard to replicate Windows. |
01:29:20 | Araq | it's extremely hard to keep it up to date though |
01:30:08 | Araq | and Windows' inner workings are probably very messy, not much fun in replicating their bugs |
01:56:43 | * | user0_ joined #nim |
01:57:35 | * | Trustable quit (Remote host closed the connection) |
01:57:52 | * | user0 quit (Ping timeout: 265 seconds) |
01:57:52 | * | user0_ is now known as user0 |
02:04:04 | user0 | Is it a good idea to split the IRC channel into 2? For example, with Rust, they got Rust-beginners and Rust. With C++ they got C++-basic and C++ |
02:05:46 | def- | user0: depends on the activity of the channel, I don't think #nim is active enough to warrant that split |
02:10:37 | * | vlad1777d joined #nim |
02:16:33 | user0 | Okay let me ask a few basic questions then. What paradigm of programming does Nim encourage? For example, D, implicitly encourage the use of traditional C++-esque TMP and OOP. Of course, you can go functional (to some extent) in D too, but that's not what the norm is. |
02:41:05 | * | chemist69 quit (Ping timeout: 252 seconds) |
02:45:18 | * | S1tiSchu joined #nim |
02:46:25 | Elronnd | user0: I wouldn't really say that d encourages that. D gives you a shitload of features and says "go to town" |
02:48:41 | * | SitiSchu quit (Ping timeout: 260 seconds) |
02:54:27 | * | chemist69 joined #nim |
03:16:42 | FromGitter | <RedBeard0531> user0: I'm still new(ish) but as far as I can see, nim encourages GTD (getting things done) without too much pushing a single paradigm :) |
03:18:27 | user0 | ^ wouldn't that result in spaghetti code? In my opinion, language paradigm plays an important role in implementing design patterns. |
03:21:14 | FromGitter | <RedBeard0531> So far I've found most repos fairly easy to drop into and read, but I'm used to doing that in C++ so maybe I'm not the best sample point |
03:38:58 | * | user0 quit (Quit: user0) |
03:53:24 | * | dddddd quit (Read error: Connection reset by peer) |
05:12:24 | * | endragor joined #nim |
05:32:52 | FromGitter | <Quelklef> is there a convention for choosing between `{}` and `[]` procs? |
05:33:00 | FromGitter | <Quelklef> / is there a semantic difference |
05:51:30 | * | fvs joined #nim |
06:01:55 | * | endragor quit (Remote host closed the connection) |
06:02:26 | * | endragor joined #nim |
06:18:57 | * | Snircle quit (Quit: Textual IRC Client: www.textualapp.com) |
06:36:17 | * | fvs quit (Read error: Connection reset by peer) |
06:36:34 | * | fvs joined #nim |
06:47:30 | * | lastjedi joined #nim |
06:47:52 | avsej | is it possible to make tests output traces where assertion has been failed? https://pastebin.com/raw/FHWH037F this is what I see when run tests on devel |
07:17:56 | FromGitter | <jaccarmac> Been learning about polymorphic recursion and how monomorphization in Rust prevents it. In my naive test of Nim the same way it also created a super deeply nested recursive structure and errored out. |
07:18:06 | FromGitter | <jaccarmac> Any way to get the non-monomorphized behavior? |
07:18:09 | FromGitter | <jaccarmac> Methods perhaps |
07:22:30 | FromGitter | <jaccarmac> Methods don't seem to work but I do get a different error than without them. |
07:24:56 | * | Vladar joined #nim |
07:29:20 | FromGitter | <jaccarmac> Update: methods work but not with variant objects. Interesting corner of the compiler I guess, seems the semantics should be the sameish if not the implementation... |
07:47:29 | * | nsf joined #nim |
07:57:26 | * | gokr joined #nim |
08:09:01 | * | Arrrr joined #nim |
08:09:01 | * | Arrrr quit (Changing host) |
08:09:01 | * | Arrrr joined #nim |
08:15:49 | * | lastjedi quit (Ping timeout: 268 seconds) |
08:17:01 | * | Kingsquee joined #nim |
08:32:57 | * | claudiuinberlin joined #nim |
08:38:16 | * | xkapastel quit (Quit: Connection closed for inactivity) |
09:02:52 | * | miran joined #nim |
09:03:46 | * | gmpreussner quit (Ping timeout: 260 seconds) |
09:05:21 | * | gmpreussner joined #nim |
09:13:27 | * | Yardanico[Phone] quit (Ping timeout: 240 seconds) |
09:13:46 | * | Yardanico[Phone] joined #nim |
09:32:08 | FromGitter | <alehander42> `Returns true iff c is a lower case Unicode character. If possible, prefer isLower over isUpper. ` |
09:32:23 | FromGitter | <alehander42> why ? (the unicode module docs) |
09:54:05 | * | gokr quit (Ping timeout: 240 seconds) |
09:57:00 | avsej | could sombody point me when the stracktraces has been inverted (like most recent call goes first). is it possible to control it somehow? |
10:01:13 | * | willprice joined #nim |
10:03:38 | miran | i have this in python: `set(range(0, period, 2))` -> what is nim's equivalent? |
10:04:30 | miran | my first idea was to use `countup`, but i can't |
10:05:48 | Araq | avsej, I doubt it's possible but the code dealing with this is in system/excpt.nim |
10:06:34 | Araq | miran, why create a set of known values? |
10:07:01 | miran | Araq: because i'll use it later for some intersections |
10:07:03 | Araq | alehander42: 'ß' in German has no uppercase version. well that's what Germans think. |
10:07:38 | avsej | Araq, after the change, this function now removes stacktraces from the test output: https://github.com/nim-lang/Nim/blob/devel/tests/testament/tester.nim#L293-L306 |
10:07:39 | Araq | in reality uppercased ß has been added a couple of years ago |
10:08:05 | avsej | it relies on the message going before the stacktrace, but never sees it |
10:08:25 | Araq | that code should be removed |
10:08:28 | FromGitter | <alehander42> ok, but how will `isLower()` help you in that case ? |
10:08:48 | Araq | isLower("ß") == true |
10:08:54 | avsej | Araq, thanks. I will open PR later today, unless you just remove it before :) |
10:09:27 | Araq | no. I will stop programming soon. And only review PRs all day long :D |
10:09:29 | FromGitter | <alehander42> yeah, but you would use isUpper for the capital `ß` ? |
10:10:05 | Araq | I don't know how to produce a capital ß on my keyboard |
10:10:24 | FromGitter | <alehander42> ẞ :D |
10:10:42 | Araq | I think it has a different unicode codepoint |
10:10:51 | FromGitter | <alehander42> such a bizarre letter, reminds me of the a/e monstrosity in swedish |
10:11:09 | Araq | *shrug* it looks like a beta, what's wrong with it |
10:11:30 | FromGitter | <alehander42> exactly! it looks like a beta, but you read it like "s" |
10:11:59 | Araq | actually we read it liks 'ss' :P |
10:12:22 | FromGitter | <alehander42> yeah, and s = z |
10:12:25 | Araq | anyway, just remove that note from Unicode if it confuses so much |
10:12:35 | FromGitter | <alehander42> ah no, I just wondered for the reason |
10:12:53 | Araq | but the point is that lower cased letters outnumber upper cased letters in many languages iirc |
10:13:02 | FromGitter | <alehander42> anyway, I guess half of the cyrillic alphabet looks like a bizarre confusion to latin readers |
10:13:32 | Araq | I recently learned it, it was a challenge |
10:13:40 | FromGitter | <alehander42> yeah, but if you want to find if a letter is uppercase, you can't just do `is not isLower(..)` |
10:14:21 | Araq | true, the point is more use toLower(x) == toLower(y) if you really must rather than toUpper(x) == toUpper(y) |
10:14:25 | FromGitter | <alehander42> yeah, and russians even have several letters on top :D |
10:14:48 | Araq | but both are wrong and cmpIgnoreCase should be used or similar |
10:14:49 | FromGitter | <alehander42> aaah, I see, case-insensitive cmp |
10:14:53 | FromGitter | <alehander42> yep |
10:15:11 | Araq | I argued to remove toLower() and toUpper() since it never leads to correct code |
10:15:21 | Araq | but "Python has it" |
10:15:26 | Araq | and "C# has it" |
10:15:40 | FromGitter | <alehander42> haha, well what would you use instead |
10:15:43 | Araq | so we have to eat dung because flies like it. |
10:16:11 | Araq | as I said, I would use cmpIgnoreCase instead |
10:16:14 | FromGitter | <alehander42> each language I know has it ; ( |
10:16:26 | FromGitter | <alehander42> ok, but I mean, if you want to convert the case to lower .. |
10:16:37 | Araq | why would I? |
10:17:44 | FromGitter | <alehander42> if you take that philosophy further, text manipulation is a symptom of an existentially empty life |
10:18:10 | FromGitter | <alehander42> but you would, because it's a very commonly needed text operation |
10:19:29 | Araq | where? no editor I have ever used had "convert to lowercase" or maybe it did but I never used it once |
10:19:50 | FromGitter | <alehander42> oh, sublime has it :D |
10:20:01 | Araq | maybe you shouldn't deal with so many people who SHOUT at you |
10:20:05 | FromGitter | <alehander42> I usually convert to caps lock |
10:20:33 | Araq | but ok whatever, unicode.toLower exists, be happy |
10:20:41 | FromGitter | <alehander42> no araq, my usecase is to convert text to normal randomized I fE3l WeIrd HeRE stuff |
10:21:26 | Araq | "normal randomized I fE3l HeRE stuff" is not normal and hardly randomized. |
10:21:28 | FromGitter | <data-man> !eval import unicode echo isLower('Ё') |
10:21:29 | NimBot | Compile failed: in.nim(1, 31) Error: missing final ' for character literal |
10:21:44 | FromGitter | <data-man> !eval import unicode; echo isLower('Ё') |
10:21:45 | NimBot | Compile failed: <no output> |
10:21:54 | Araq | !eval import unicode; echo isLower("ß") |
10:21:57 | NimBot | false |
10:22:06 | Araq | oopps lol |
10:22:14 | FromGitter | <data-man> :) |
10:22:26 | FromGitter | <tim-st> I tested the implementation for isUpper and isLower for ß and it was correct. The ß will never be uppercase (also when people like to say so) because it's the only letter which can never be a first letter of a word |
10:22:33 | FromGitter | <alehander42> who needs german anyway |
10:22:36 | FromGitter | <data-man> !eval import unicode; echo isLower("Ё") |
10:22:38 | NimBot | false |
10:22:43 | Araq | !eval import unicode; echo isUpper("ß") |
10:22:45 | NimBot | false |
10:22:54 | FromGitter | <data-man> !eval import unicode; echo isLower("ё") |
10:22:56 | NimBot | true |
10:23:06 | Araq | maybe it's not lower because it cannot be turned into upper? |
10:23:45 | Araq | tim-st: Upper cased ß was added because on German passports ALLCAPS are used for the last name... |
10:24:04 | Araq | making names like GAUSS ambiguous (is that Gauß or Gauss?) |
10:24:08 | FromGitter | <tim-st> Yeah, i know but that isn't correct though |
10:24:40 | FromGitter | <tim-st> I think the current implementation is the most natural for this letter |
10:24:48 | Araq | what do you mean? |
10:26:24 | Araq | it's not lower because it should not be turned to upper case? |
10:27:02 | FromGitter | <tim-st> it is lower, and it can be used as uppercase but is still lower than^^ |
10:29:38 | FromGitter | <tim-st> btw you told me to write the two lines of code on my own some time ago for hashmap merge, I tried it and the only way it worked was using a new proc? Is it working using a one liner? |
10:30:20 | * | user0 joined #nim |
10:30:58 | FromGitter | <tim-st> (I wanted to define it const not var) |
10:31:48 | Araq | for k, v in pairs(mytab): dest[k] = v ? |
10:32:06 | Araq | ah to put it in const, yeah |
10:33:27 | FromGitter | <data-man> @Araq: I have an idea about a new optimization option: -d: useAutoLikely. The compiler could automatically insert likely(condition) (and unlikely(...)) for the some statements. What do you think? |
10:34:08 | Araq | based on what information? |
10:35:25 | FromGitter | <tim-st> so the plus operator for tables would be a good idea, would allow const also |
10:35:35 | FromGitter | <tim-st> and all ops from set |
10:36:27 | FromGitter | <data-man> If a statement started from "if" then to use likely. For "if not <condition>" to use unlikely |
10:41:25 | * | dddddd joined #nim |
10:43:11 | * | Trustable joined #nim |
10:45:40 | Araq | data-man: that's a pretty wild rule |
10:46:05 | * | yglukhov joined #nim |
10:46:14 | FromGitter | <data-man> Just an idea :) |
10:47:48 | FromGitter | <tim-st> Shouldnt this be the task of the c commpiler? I heard it's very smart... |
10:49:14 | * | yglukhov quit (Read error: Connection reset by peer) |
10:49:47 | * | yglukhov joined #nim |
10:50:04 | * | yglukhov quit (Remote host closed the connection) |
10:50:38 | FromGitter | <data-man> ```code paste, see link``` [https://gitter.im/nim-lang/Nim?at=5a476f7d232e79134da87614] |
10:50:41 | * | yglukhov joined #nim |
10:50:56 | FromGitter | <data-man> :( |
10:53:18 | * | endragor quit (Remote host closed the connection) |
10:54:23 | FromGitter | <data-man> ```code paste, see link``` [https://gitter.im/nim-lang/Nim?at=5a47705f68d092bb620598e0] |
10:54:53 | FromGitter | <tim-st> Have you tried this manually and compared the compiled results? |
10:55:33 | * | yglukhov quit (Ping timeout: 264 seconds) |
10:57:28 | * | endragor joined #nim |
10:58:36 | FromGitter | <data-man> No, I did not measure speed. But very, very many С/С++ libraries use this hints for the compiler. |
10:58:54 | FromGitter | <data-man> *these hints |
11:01:18 | FromGitter | <tim-st> Ok, could be interesting than |
11:09:44 | FromGitter | <data-man> BTW TinyCC v.0.9.27 released http://git.savannah.gnu.org/cgit/tinycc.git/tree/Changelog |
11:11:48 | * | marenz__ joined #nim |
11:18:42 | * | yglukhov joined #nim |
11:25:38 | * | gokr joined #nim |
11:26:21 | Araq | data-man: how about this: tonight I'll publish my ideas about Nim's new runtime and language features and you help implement it, it's a clean design (I hope), that will hopefully give us much more speed than micro optimizations |
11:26:46 | Araq | see you later. |
11:28:09 | FromGitter | <data-man> Hooray! :) |
11:41:01 | * | BitPuffin|osx joined #nim |
11:45:27 | avsej | Araq, https://github.com/nim-lang/Nim/pull/6998 |
12:16:18 | * | avsej quit (Ping timeout: 272 seconds) |
12:23:52 | * | natrys joined #nim |
12:25:04 | * | avsej joined #nim |
12:25:04 | * | avsej quit (Changing host) |
12:25:04 | * | avsej joined #nim |
12:26:11 | * | lastjedi joined #nim |
12:31:47 | * | Arrrr quit (Read error: Connection reset by peer) |
12:35:54 | GitDisc | <Lite5h4dow> whats better, parseOpt or os.paramStr? |
12:40:17 | GitDisc | <NopeDK> @Lite5h4dow os.paramStr is for manual handling of commandline, parseOpt is a full parser for commandline. |
12:40:33 | GitDisc | <Lite5h4dow> ill use parse opt then |
12:40:51 | GitDisc | <Lite5h4dow> let it do the work xD |
12:41:55 | * | miran quit (Quit: Konversation terminated!) |
12:45:49 | * | dandevelo joined #nim |
12:55:28 | GitDisc | <Lite5h4dow> can i just make sure i understand the parseopt documentation with someone? |
12:55:44 | GitDisc | <Lite5h4dow> if its not too much trouble |
13:10:43 | FromGitter | <tim-st> When I want to access the index of the Runes of a string multiple times it's best to save the str first as a seq[Rune] using toRunes instead of calling runeAtPos every time, isn't it? |
13:12:31 | * | Snircle joined #nim |
13:15:47 | GitDisc | <Lite5h4dow> i dont think anyone is here man |
13:15:49 | GitDisc | <Lite5h4dow> xD |
13:15:51 | yglukhov | tim-st: runeAtPos is linear complexity. |
13:16:01 | GitDisc | <Lite5h4dow> nvm |
13:17:11 | yglukhov | so yeah, indexing a seq is faster than calling runeAtPos. at the cost of additional memory usage in your case. |
13:17:18 | FromGitter | <tim-st> So basically 5 calls would have 5*O(n) and 5 calls to seq would be 5*O(1) + 1*O(n) --> the first toRunes call |
13:17:34 | FromGitter | <tim-st> OK, good, thanks |
13:18:22 | FromGitter | <tim-st> btw there are a few var declares that can be let in unicode.nim . does c compiler understand this? |
13:18:45 | * | user0 quit (Quit: user0) |
13:19:01 | yglukhov | lets and vars have the same C representation, as far as im concerned |
13:20:13 | FromGitter | <tim-st> Interesting if that's true. Than it would only be a safety check for the developer? |
13:20:28 | yglukhov | but lets potentially may have more chances to be optimized by nim itself. even though i don't think nim currently exploits any benefits of those |
13:21:05 | yglukhov | > Than it would only be a safety check for the developer? yep, that's what it is currently. and readability improvements |
13:21:25 | FromGitter | <tim-st> Thanks for the answers. good to know |
13:23:07 | * | user0 joined #nim |
13:28:25 | livcd | btw will there be some terminilogy changes with 1.0 eg. seqs being renamed ? :D |
13:31:02 | * | BitPuffin|osx quit (Ping timeout: 272 seconds) |
13:35:37 | * | Yardanico joined #nim |
13:42:05 | * | Kingsquee quit (Ping timeout: 265 seconds) |
13:44:41 | * | endragor quit (Remote host closed the connection) |
13:46:37 | * | Gnjurac joined #nim |
13:46:43 | Gnjurac | hi |
13:46:51 | dom96 | hello |
13:47:06 | Gnjurac | anyone using nim whit godot |
13:47:36 | dom96 | Araq: ^ |
13:47:38 | Gnjurac | godotengine |
13:48:16 | dom96 | why do you ask? |
13:48:44 | * | endragor joined #nim |
13:49:30 | Gnjurac | cuz duno if it works on github last build is marked erroe or faild i think |
13:50:23 | Gnjurac | and would like to know how it compers to c#/mono in build size |
13:50:40 | Gnjurac | am guessing nim is smaller |
13:53:25 | * | endragor quit (Ping timeout: 256 seconds) |
13:55:14 | Yardanico | Gnjurac, it works |
13:55:32 | Yardanico | don't worry about build: error |
13:56:00 | Gnjurac | oki will try when i get home atm am on phone |
13:58:16 | * | yglukhov quit (Remote host closed the connection) |
13:59:02 | * | yglukhov joined #nim |
14:03:10 | * | Gnjurac quit (Quit: Yaaic - Yet another Android IRC client - http://www.yaaic.org) |
14:04:34 | FromGitter | <alehander42> Livcd why would you change seq |
14:05:02 | FromGitter | <tim-st> Rune type seems to be an distinct int32 but has a contructor Rune() where is this defined or how was it defined? |
14:05:41 | FromGitter | <tim-st> I want this for my tuples, too |
14:07:49 | Yardanico | it's not a constructor |
14:07:56 | Yardanico | Rune is a type |
14:08:11 | Yardanico | and with Rune(...) you create Rune object with value :) |
14:08:17 | Yardanico | well , it's kinda like constructor, but it's not |
14:08:39 | FromGitter | <tim-st> it is an object? where it is defined? I searched the code |
14:08:54 | FromGitter | <tim-st> I see it in unicode.nim as int32 |
14:09:26 | Yardanico | https://github.com/nim-lang/Nim/blob/master/lib/pure/unicode.nim#L18 |
14:09:40 | Yardanico | ah, sorry, it's not an object, but still |
14:10:08 | FromGitter | <tim-st> for me it is not clear why I can do Rune(100) but not MyTupleType() |
14:11:01 | FromGitter | <tim-st> or basically where I can find the Rune() proc/constructor/ template whatever it is to allow the braces style |
14:12:01 | Yardanico | ah, sorry again |
14:12:10 | Yardanico | Rune(int32 value) is a type conversion |
14:12:23 | FromGitter | <tim-st> where you find it? |
14:12:30 | Yardanico | https://nim-lang.org/docs/manual.html#types-distinct-type |
14:12:40 | Yardanico | Explicit type conversions from a distinct type to its base type and vice versa are allowed. |
14:14:03 | Yardanico | tim-st: and you can already use "braces" style |
14:14:14 | FromGitter | <tim-st> Ok, thanks, so internally the braces are interpreted as a type conversion/Cast? |
14:14:25 | FromGitter | <tim-st> Really? for tuple with 0.17.2? |
14:15:01 | Yardanico | e.g. if you have "type MyTupleType = tuple[x: int, y: string]" |
14:15:19 | Yardanico | you can create a MyTupleType variable like this: "let a = (x: 5, y: "hello")" |
14:15:47 | FromGitter | <tim-st> yes, but I want MyTupleType(x:5) |
14:16:04 | FromGitter | <tim-st> atm I find my self writing many procs for tuples |
14:16:17 | Yardanico | MyTupleType(x: 5) works only for objects |
14:16:25 | FromGitter | <tim-st> that allow the construction this way, for object I have them |
14:16:31 | Yardanico | https://nim-lang.org/docs/tut1.html#advanced-types-tuples |
14:16:51 | Yardanico | why would you want MyTupleType(x: 5) ? |
14:17:00 | Yardanico | then you wouldn't know if it's an object or a tuple |
14:17:28 | Yardanico | let a: MyTupleType = (x: 5, y: "hello") |
14:17:34 | Yardanico | you can write it like this ^^ |
14:18:15 | FromGitter | <tim-st> I don't care if it's tuple or object that's the thing. I think the best way would be to not realize at all the difference. So I would get the perfomance from tuple and the nice style from object |
14:18:49 | FromGitter | <tim-st> But thanks for the answer, so I will continue writing procs |
14:19:00 | FromGitter | <tim-st> for construction |
14:19:02 | Yardanico | why? |
14:19:12 | Yardanico | let a: MyTupleType = (x: 5, y: "hello") is better |
14:19:39 | FromGitter | <tim-st> No, in my opinion it is not. I think there are many very good styles in nim. This on isn't |
14:19:46 | FromGitter | <tim-st> *one |
14:21:07 | Yardanico | maybe you can try to overload `()` ? |
14:21:10 | Yardanico | IDK if it works or not |
14:21:48 | FromGitter | <tim-st> good idea, will try |
14:21:55 | dom96 | In case there is anybody left without Nim in Action here: https://www.reddit.com/r/nim/comments/7n1rhi/manning_megasale_on_301217_311217_and_010118_good/ :) |
14:24:14 | livcd | I hope they will have a sale for ebooks as well |
14:24:15 | FromGitter | <tim-st> @Yardanico there comes a warning it's experimental^^ |
14:24:21 | livcd | i want to grab Well Grounded Rubyist |
14:24:21 | Yardanico | I know |
14:24:56 | livcd | dom96: did they reply to you about that code formatting ? |
14:26:13 | * | Ven`` joined #nim |
14:26:34 | FromGitter | <tim-st> doesnt work, will stay with proc |
14:35:41 | * | lastjedi quit (Ping timeout: 260 seconds) |
14:35:59 | Yardanico | what do I need to use instead of "fromSeconds(1893456000)" ? |
14:36:05 | Yardanico | because fromSeconds is deprecated |
14:36:37 | Yardanico | ah, just Time(number) |
14:37:12 | dom96 | livcd: yeah, they said they'll fix it |
14:37:50 | livcd | dom96: ahh nice |
14:38:01 | livcd | i wonder how long will it take |
14:41:42 | Yardanico | how do I convert Time to DateTime? |
14:41:52 | Yardanico | I have this code "getGMTime(getTime() + initInterval(hours=3))" |
14:41:56 | Yardanico | but getGMTime is deprecated |
14:42:26 | Yardanico | ah |
14:42:34 | Yardanico | utc(getTime() + initInterval(hours=3)) |
14:43:33 | * | dandevelo quit (Ping timeout: 264 seconds) |
14:47:12 | Yardanico | (just was fixing deprecations in my project) |
14:52:16 | * | Ven`` quit (Quit: My MacBook has gone to sleep. ZZZzzz…) |
14:52:45 | dom96 | Yardanico: if the docs for getTime don't contain info about this then please add a mention of utc to them |
14:54:12 | * | yglukhov quit (Remote host closed the connection) |
14:54:20 | Yardanico | dom96, these 5 procs are very simple but they don't have info about replacement: https://github.com/nim-lang/Nim/blob/devel/lib/pure/times.nim#L1350 |
14:54:50 | dom96 | They need a comment that says they are deprecated as well |
14:55:10 | dom96 | "**Deprecated since v0.18.0:** use ``utc`` instead" |
14:55:16 | Yardanico | ok |
14:56:19 | Xe | is times finally getting fixed? |
14:57:03 | dom96 | yep |
14:57:06 | Yardanico | dom96, about getLocalTime and getGMTime: should I use UFCS or not? |
14:57:06 | Xe | yay |
14:57:11 | Yardanico | e.g. local(time) or time.local |
14:57:17 | Xe | this was the thing that made twtxtlist impossible to write |
14:57:18 | Yardanico | for deprecation comment |
14:57:40 | dom96 | Yardanico: doesn't really matter I don't think |
14:58:57 | Yardanico | Araq, and again :) |
14:59:06 | Yardanico | wrong branch - https://github.com/nim-lang/Nim/commit/9ca56863982fd623739e36adbc1455a2d5c5c8e7 |
15:02:26 | Yardanico | dom96, and also, should I write it like ## Use ``Time(since1970)`` instead. or ## Use ``Time`` instead. |
15:02:48 | dom96 | You should write it exactly like I've written it |
15:03:01 | dom96 | ## **Deprecated since v0.18.0:** use ``Time`` instead |
15:03:30 | dom96 | Xe: There are more PRs being made by GULPF to fix even more things, you may wish to take a look at them |
15:03:46 | Yardanico | dom96, well there's toSeconds which is replaced by float() |
15:04:02 | Yardanico | and it would probably be a little bit confusing since Time is a type |
15:04:53 | * | Ven`` joined #nim |
15:05:10 | dom96 | So I contacted TIOBE about the Crystal mis-ranking (according to December's index Crystal is more popular than Rust) and they said that about 39% of the results are referring to "programming crystals" (ala https://meanings.crystalsandjewelry.com/how-to-program-crystals/), makes me wonder how accurate these stats are at all :) |
15:06:17 | Yardanico | dom96, and I can't find that is the replacement for getTimezone :P |
15:06:19 | Yardanico | *what is |
15:06:21 | dom96 | Yardanico: okay, feel free to show that, but maybe put in an integer not ``since1970``. |
15:08:45 | Xe | dom96: i'm gonna see if i can get nim packaged in alpine linux |
15:08:50 | Xe | it works perfectly on alpine fwiw |
15:08:58 | dom96 | great |
15:09:20 | Yardanico | I can say more: nim works great in non-linux (partially posix compatible) OS :D |
15:09:24 | * | endragor joined #nim |
15:09:46 | Yardanico | well I'm talking about basic tasks |
15:09:57 | dom96 | Nim should work on pretty much anything |
15:10:23 | Xe | int 80h |
15:10:43 | Yardanico | dom96, https://github.com/nim-lang/Nim/pull/7001 |
15:11:24 | dom96 | and you didn't use the format I told you to use |
15:13:13 | Yardanico | dom96, fixed |
15:14:02 | dom96 | also, please add an empty `##` between the doc and deprecation warning |
15:14:06 | dom96 | otherwise they'll end up on the same line |
15:14:54 | Yardanico | dom96, done |
15:15:18 | dom96 | thank you |
15:15:53 | Yardanico | dom96, but I didn't found the replacement for getTimezone - I'll ask GULPF about it and commit directly afterwards |
15:16:07 | dom96 | ok |
15:18:35 | * | lastjedi joined #nim |
15:24:05 | * | natrys quit (Quit: natrys) |
15:24:19 | FromGitter | <tim-st> Is this a bug or a feature: |
15:24:24 | FromGitter | <tim-st> let x = 1 ⏎ ⏎ for num in 0..10: ⏎ let x = 2 ⏎ echo x ... [https://gitter.im/nim-lang/Nim?at=5a47afa784fb74b9401c5a51] |
15:24:45 | FromGitter | <tim-st> that I can redeclare in scope |
15:24:57 | FromGitter | <tim-st> "redeclare" |
15:25:26 | FromGitter | <Yardanico> @tim-st please use github markdown for code snippets on gitter :) |
15:25:34 | Yardanico | well for has another scope |
15:25:49 | FromGitter | <tim-st> ok, but feels a bit strange |
15:26:05 | FromGitter | <Yardanico> why? |
15:26:11 | FromGitter | <tim-st> (yeah I meant another scope the word was lost^^) |
15:26:25 | FromGitter | <Yardanico> https://nim-lang.org/docs/manual.html#scope-rules-block-scope |
15:26:39 | FromGitter | <Yardanico> If a block contains a second block, in which the identifier is redeclared, then inside this block, the second declaration will be valid. |
15:26:41 | FromGitter | <mratsim> That's called shadowing. Happens in lot of language, it's bug prone I agree. |
15:27:03 | FromGitter | <Yardanico> @mratsim well it's not very bug prone in nim since you always need to use let/var |
15:27:04 | FromGitter | <tim-st> @mratsim exactly this was my feeling, thanks |
15:27:10 | FromGitter | <Yardanico> in python it's more bug prone I think |
15:27:20 | FromGitter | <mratsim> But it's like using foo as a local variable in a function and outside. |
15:27:45 | FromGitter | <mratsim> Yes the let/var helps. |
15:28:24 | * | Ven`` quit (Quit: My MacBook has gone to sleep. ZZZzzz…) |
15:29:59 | Yardanico | hmm, what is the best config format to use with nim? |
15:30:19 | Yardanico | I want it to be human-readable (so users can edit it without too much hassle) |
15:30:37 | Yardanico | parsecfg from stdlib is good, but sadly it doesn't support arrays |
15:35:04 | dom96 | json then? |
15:35:15 | dom96 | or you could just split(",") in parsecfg |
15:35:34 | Yardanico | dom96, yeah, I know about split(",") :) |
15:36:01 | * | vlad1777d quit (Ping timeout: 248 seconds) |
15:36:16 | Yardanico | well, JSON isn't considered as a very good format for config files: https://arp242.net/weblog/json_as_configuration_files-_please_dont |
15:38:48 | Yardanico | maybe TOML or YAML |
15:39:09 | * | vlad1777d joined #nim |
15:40:24 | hiway | +1 on YAML; seems straightforward enough, has tooling in IDEs |
15:54:24 | FromGitter | <tim-st> When I have `variable == variable2+1` in a for loop and `variable2` is declared with let is `variable2+1` recalculated in every loop? |
15:55:34 | FromGitter | <tim-st> basically: should I declared also `variable2` before the loop to prevent recalc? |
15:56:04 | FromGitter | <tim-st> I mean `variable2+1` sorry ^^ |
16:06:44 | * | subsetpark_ joined #nim |
16:09:39 | dom96 | hrm, do we want a `[]` for File in the stdlib? |
16:10:39 | Yardanico | dom96, for what? |
16:11:00 | dom96 | file[5 .. 123] # returns a slice of the file's contents |
16:16:51 | * | MJCaley joined #nim |
16:26:25 | * | lastjedi quit (Ping timeout: 265 seconds) |
16:28:29 | * | lastjedi joined #nim |
16:30:53 | * | BitPuffin|osx joined #nim |
16:33:08 | FromGitter | <Varriount> Yardanico: Nim has a great YAML module |
16:33:22 | Yardanico | yeah, I know about NimYAML :0 |
16:44:28 | * | Yardanico_ joined #nim |
16:45:15 | * | natrys joined #nim |
16:48:21 | * | Yardanico quit (Ping timeout: 264 seconds) |
16:52:52 | FromGitter | <mratsim> Yaml is very readable, I'm not aware of a toml lib though parsecfg can probably fit the bills |
16:59:13 | * | gokr quit (Read error: Connection reset by peer) |
17:01:22 | * | willprice94 joined #nim |
17:03:57 | * | willprice quit (Ping timeout: 264 seconds) |
17:06:07 | fvs | basic2d being depreciated? Always found it perfect for small vector based calcs where arrayMancer would be overkill. |
17:06:09 | * | miran joined #nim |
17:07:10 | * | xet7 quit (Quit: Leaving) |
17:10:25 | * | dandevelo joined #nim |
17:11:17 | dom96 | just moved out of stdlib |
17:14:12 | fvs | into nimble i see - that works |
17:14:43 | Yardanico_ | fvs, the code in it is... not very good |
17:15:11 | * | dandevelo quit (Ping timeout: 248 seconds) |
17:23:38 | * | Yardanico_ quit (Read error: Connection reset by peer) |
17:23:44 | * | Yardanico__ joined #nim |
17:27:04 | * | Yardanico__ is now known as Yardanico |
17:27:59 | * | Yardanico is now known as ROSKOSMOS |
17:28:17 | * | ROSKOSMOS is now known as B_rot_her |
17:29:16 | * | B_rot_her is now known as _____ |
17:29:20 | * | _____ is now known as ______ |
17:29:25 | * | ______ is now known as Yardanico |
17:30:15 | * | Yardanico_ joined #nim |
17:33:46 | * | Ven`` joined #nim |
17:34:17 | * | Yardanico quit (Ping timeout: 252 seconds) |
17:34:18 | * | deathstar joined #nim |
17:36:57 | * | lastjedi quit (Ping timeout: 264 seconds) |
17:37:10 | * | Yardanico_ is now known as Yardanico |
17:38:13 | * | lastjedi joined #nim |
17:41:26 | * | deathstar quit (Ping timeout: 252 seconds) |
17:42:58 | * | deathstar joined #nim |
17:44:06 | * | lastjedi quit (Ping timeout: 260 seconds) |
17:47:10 | * | deathstar quit (Ping timeout: 255 seconds) |
17:48:19 | * | lastjedi joined #nim |
17:53:03 | * | deathstar joined #nim |
17:53:27 | * | lastjedi quit (Ping timeout: 240 seconds) |
17:54:18 | * | Vladar quit (Quit: Leaving) |
17:57:27 | FromGitter | <Quelklef> Can someone help me understand methods better? |
17:57:29 | FromGitter | <Quelklef> https://gist.github.com/Quelklef/b1b57cae9be0d05c2ff62d1892eaaea1 |
17:58:04 | FromGitter | <Quelklef> My understanding is that `$cont.inner` should give "Derived" because it's of the (runtime) derived type and not the base type |
17:58:12 | FromGitter | <Quelklef> Evidently, though, I'm wrong. |
17:59:16 | * | lastjedi joined #nim |
18:00:29 | * | deathstar quit (Ping timeout: 256 seconds) |
18:02:16 | * | nsf quit (Quit: WeeChat 2.0.1) |
18:04:31 | * | willprice94 quit (Ping timeout: 260 seconds) |
18:11:18 | dom96 | Seems to me that way too |
18:12:36 | FromGitter | <Quelklef> oh. I should note, then, that I'm not on devel |
18:13:49 | dom96 | gives me the same result |
18:13:52 | dom96 | submit a bug report |
18:14:01 | FromGitter | <Quelklef> will do |
18:14:22 | * | xet7 joined #nim |
18:16:01 | * | Vladar joined #nim |
18:20:44 | * | deathstar joined #nim |
18:22:37 | * | lastjedi quit (Ping timeout: 268 seconds) |
18:25:19 | FromGitter | <stisa> @Quelklef I think inheritance needs `ref object of ...` to work as you want |
18:27:14 | FromGitter | <Quelklef> ok, thanks |
18:27:15 | FromGitter | <Quelklef> why's that? |
18:29:20 | dom96 | ahh yeah, that's true. This is way too subtle. I think there should be a warning for this code. |
18:29:55 | * | deathstar quit (Quit: No Ping reply in 180 seconds.) |
18:30:20 | dom96 | Although the two objects are the same size, so I wonder why it wouldn't work anyway |
18:30:36 | FromGitter | <Quelklef> should i close the issue report? |
18:31:19 | * | lastjedi joined #nim |
18:33:08 | * | Ven`` quit (Quit: My MacBook has gone to sleep. ZZZzzz…) |
18:33:15 | * | lastjedi quit (Read error: Connection reset by peer) |
18:34:37 | dom96 | nah |
18:35:11 | * | lastjedi joined #nim |
18:37:23 | * | Ven`` joined #nim |
18:39:21 | * | BitPuffin|osx quit (Ping timeout: 264 seconds) |
18:41:56 | * | miran quit (Quit: Konversation terminated!) |
18:49:22 | * | yglukhov joined #nim |
18:51:10 | * | lastjedi quit (Remote host closed the connection) |
18:56:48 | * | Jesin joined #nim |
19:12:22 | * | dandevelo joined #nim |
19:12:31 | * | Ven`` quit (Quit: My MacBook has gone to sleep. ZZZzzz…) |
19:17:31 | * | dandevelo quit (Ping timeout: 265 seconds) |
19:30:25 | * | arecacea1 quit (Remote host closed the connection) |
19:30:27 | * | endragor quit (Remote host closed the connection) |
19:30:43 | * | arecacea1 joined #nim |
19:33:36 | * | lastjedi joined #nim |
19:54:23 | * | lastjedi quit (Remote host closed the connection) |
20:01:58 | * | nsf joined #nim |
20:03:44 | * | yglukhov quit (Remote host closed the connection) |
20:15:19 | * | MJCaley quit (Quit: MJCaley) |
20:22:57 | * | yglukhov joined #nim |
20:30:55 | * | endragor joined #nim |
20:31:21 | * | MJCaley joined #nim |
20:35:47 | * | endragor quit (Ping timeout: 252 seconds) |
20:53:41 | * | yglukhov quit (Remote host closed the connection) |
20:54:28 | * | vegax87 joined #nim |
21:04:49 | * | Vladar quit (Remote host closed the connection) |
21:06:25 | * | Ven`` joined #nim |
21:07:57 | * | MJCaley quit (Quit: MJCaley) |
21:13:51 | * | dandevelo joined #nim |
21:17:31 | FromGitter | <alehander42> @dom96 people in crystal community know perfectly well tiobe's positions are incorrect, it's similar with one indeed chart, where they had many "jobs" because of "crystal reports". |
21:18:35 | * | dandevelo quit (Ping timeout: 240 seconds) |
21:19:38 | * | Ven`` quit (Quit: My MacBook has gone to sleep. ZZZzzz…) |
21:20:50 | * | Ven`` joined #nim |
21:41:53 | * | Ven`` quit (Quit: My MacBook has gone to sleep. ZZZzzz…) |
21:46:48 | * | fvs left #nim ("ERC (IRC client for Emacs 25.3.1)") |
22:24:37 | * | yglukhov joined #nim |
22:28:47 | * | yglukhov quit (Ping timeout: 248 seconds) |
22:32:41 | * | ofelas joined #nim |
22:37:39 | * | xkapastel joined #nim |
22:39:32 | * | Trustable quit (Remote host closed the connection) |
22:54:27 | * | natrys quit (Quit: natrys) |
23:12:40 | FromGitter | <Quelklef> is there any kind of benefit to using `let` over var |
23:12:59 | FromGitter | <Quelklef> I've noticed I just always opt for `var`, even when the value really should be static |
23:13:43 | FromGitter | <Quelklef> is it gonna be worth it to teach myself to think a lil before writing let/var or should i just put the effort in when it actually counts |
23:15:13 | * | vlad1777d quit (Ping timeout: 248 seconds) |
23:15:45 | * | dandevelo joined #nim |
23:18:35 | Yardanico | yes |
23:18:41 | Yardanico | let helps you to understand your code |
23:18:47 | Yardanico | or someone else' code] |
23:18:58 | Yardanico | also it's less error prone |
23:19:07 | Yardanico | because compiler checks if you're trying to write to let variable |
23:20:28 | * | dandevelo quit (Ping timeout: 268 seconds) |
23:21:29 | dom96 | you should be using 'let' far more often than 'var' |
23:21:43 | dom96 | most variables shouldn't need to be mutated |
23:31:17 | * | dandevelo joined #nim |
23:32:22 | * | endragor joined #nim |
23:34:14 | * | gokr joined #nim |
23:34:20 | * | gokr left #nim (#nim) |
23:36:57 | * | endragor quit (Ping timeout: 240 seconds) |
23:42:11 | FromGitter | <Quelklef> right |
23:42:21 | FromGitter | <Quelklef> ok time to habit build |
23:50:42 | * | Yardanico quit (Read error: Connection reset by peer) |
23:55:33 | * | marenz__ quit (Ping timeout: 264 seconds) |
23:56:17 | * | claudiuinberlin quit (Quit: Textual IRC Client: www.textualapp.com) |
23:58:43 | * | nsf quit (Quit: WeeChat 2.0.1) |