00:04:11 | FromGitter | <zacharycarter> @rayman22201 hrm - is there a docker image for 0.19.0 out? |
00:04:17 | FromGitter | <zacharycarter> because that's a relative trivial change to make |
00:07:18 | FromGitter | <bung87> I missed you live streaming? |
00:10:59 | * | puhuri6 joined #nim |
00:12:47 | * | puhuri6 quit (Remote host closed the connection) |
00:15:12 | FromGitter | <zacharycarter> no |
00:15:17 | FromGitter | <zacharycarter> it's in 11 hours |
00:15:25 | FromGitter | <zacharycarter> well 10 hours and 45 minutes I guess |
00:15:49 | * | brainproxy joined #nim |
00:19:27 | FromGitter | <bung87> ah 7pm in my timezone |
00:22:15 | FromGitter | <zacharycarter> I tried to do it early to accommodate as many as possible - but I imagine I screwed over those living west of me in the US |
00:22:30 | FromGitter | <zacharycarter> doh well - it'll be recorded |
00:23:03 | FromGitter | <rayman22201> Good question about the Docker image @zacharycarter. Idk who produces them / how they are created |
00:24:22 | FromGitter | <kdheepak> If I get a user input and am able to convert it to a integer, how to do then use that number for padding a string? |
00:25:22 | FromGitter | <rayman22201> 10 hours? Lol. 3am pst? I would love to show my support but I will definitely be sleeping. Lol. |
00:27:23 | FromGitter | <zacharycarter> yeah :/ I figured the majority of Nim users are EU based - and plus I like to start early, but I know most of those in the community based in the US will miss it |
00:28:00 | FromGitter | <zacharycarter> I'm going to hopefully start live-streaming more, especially once I resume work on a game engine / game |
00:28:16 | FromGitter | <zacharycarter> and I'll probably be doing those streams in the evenings |
00:30:36 | FromGitter | <rayman22201> No worries. Best of luck! Hope it goes well. |
00:31:24 | FromGitter | <rayman22201> It's true. I'm a minority timezone for Nim uses lol. I just have to accept it |
00:31:32 | FromGitter | <zacharycarter> yeah - me too :P |
00:31:42 | FromGitter | <zacharycarter> but hopefully that changes! |
00:31:54 | FromGitter | <zacharycarter> and maybe one day we can have a US based Nim conference or something |
00:32:02 | FromGitter | <zacharycarter> my backyard is open |
00:32:06 | FromGitter | <zacharycarter> :P |
00:32:11 | FromGitter | <zacharycarter> can go grab some beers and fire up the grill |
00:32:51 | FromGitter | <zacharycarter> srsly though - it'd be awesome to have a US Nim conference / meetup one day - Varriount and I have met up |
00:33:04 | FromGitter | <zacharycarter> but just once, it was for coffee - and then my life got stupid busy for a while |
00:34:26 | FromGitter | <rayman22201> A grill and beers is always fun. conference or not :-P |
00:34:39 | FromGitter | <rayman22201> You are East Coast US right? |
00:35:08 | FromGitter | <rayman22201> I live in Las Vegas actually. One of the conference capitals of the world. I'm just saying :-P |
00:35:32 | FromGitter | <zacharycarter> Yeah - Vegas is probably a much more attractive option than Opal Virginia lol |
00:36:06 | FromGitter | <zacharycarter> hell - even if we take the closest city to me - DC - Vegas is still a way better option |
00:36:43 | FromGitter | <rayman22201> convenient for me, very fun for everybody else. I like this plan :-P |
00:37:29 | FromGitter | <rayman22201> too bad no company here would touch Nim with a ten foot pole, but oh well. |
00:38:20 | FromGitter | <zacharycarter> well - I don't plan on being where I'm at for long |
00:38:29 | FromGitter | <zacharycarter> I'm working on getting my CV / website together |
00:38:55 | FromGitter | <zacharycarter> and then hunting for a new gig - either in the game development or systems programming world - whichever door I can kick my foot through first |
00:39:10 | FromGitter | <zacharycarter> and I imagine - that will come with re-location unless I find a job at Bethesda or something |
00:41:10 | FromGitter | <rayman22201> Well, I can tell you that slot machines have surprisingly terrible C or Java code. I don't work in that industry, but I have several friends that do. |
00:42:01 | FromGitter | <zacharycarter> I believe it |
00:42:11 | FromGitter | <zacharycarter> https://github.com/Microsoft/MS-DOS |
00:42:50 | FromGitter | <rayman22201> lol. Time to pull out my old Doom floppy disks :-) |
00:42:57 | FromGitter | <zacharycarter> :D |
00:43:25 | FromGitter | <zacharycarter> think I'm going to try to learn some assembly |
00:43:28 | FromGitter | <zacharycarter> reading through this |
00:44:40 | FromGitter | <rayman22201> It's actually a neat piece of history. Cool that they released it. Definitely learn assembly! It's worth it |
00:44:55 | * | amk quit (Ping timeout: 246 seconds) |
01:01:02 | * | redlegion_ joined #nim |
01:06:02 | * | amk joined #nim |
01:07:41 | * | elrood_ quit (Quit: Leaving) |
01:08:05 | * | amk quit (Client Quit) |
01:35:28 | FromGitter | <zacharycarter> reading - https://yurichev.com/writings/RE4B-EN.pdf - really good read so far |
01:36:54 | * | redlegion_ quit (Ping timeout: 252 seconds) |
01:41:12 | * | tzui quit (Quit: My MacBook has gone to sleep. ZZZzzz…) |
01:41:42 | * | krux02 quit (Remote host closed the connection) |
01:44:31 | FromGitter | <rayman22201> cool! |
01:47:06 | * | a_b_m quit (Read error: Connection reset by peer) |
02:00:01 | * | Hornet_C joined #nim |
02:01:52 | * | Hornet_C quit (Remote host closed the connection) |
02:07:18 | * | oq27 joined #nim |
02:09:36 | * | oq27 quit (Remote host closed the connection) |
02:11:46 | * | smt quit (Read error: Connection reset by peer) |
02:18:48 | * | vlad1777d quit (Ping timeout: 245 seconds) |
02:35:05 | * | gangstacat joined #nim |
02:39:48 | FromGitter | <ivanflorentin> @zacharycarter cool! |
02:40:42 | FromGitter | <ivanflorentin> used to program assembly in 6502, z80... back in the days... |
02:42:30 | * | skrylar joined #nim |
02:49:44 | * | AliceGrove26 joined #nim |
02:50:40 | FromGitter | <zacharycarter> nice! |
02:54:48 | * | AliceGrove26 quit (Remote host closed the connection) |
03:00:39 | FromGitter | <kdheepak> @zacharycarter will you post the link here when you live stream? |
03:39:25 | * | dddddd quit (Remote host closed the connection) |
03:48:37 | * | chemist69 quit (Ping timeout: 252 seconds) |
03:50:50 | * | chemist69 joined #nim |
04:45:22 | * | miran joined #nim |
04:48:07 | * | nc-x joined #nim |
04:50:54 | nc-x | @kdheepak https://gitter.im/nim-lang/Nim?at=5baeb8bcef4afc4f28eea25d You don't need to `cast[TeacherRef](p)`. You can simply use type conversions like - TeacherRef(p).type, TeacherRef(p).name etc. |
04:51:24 | nc-x | https://nim-lang.org/docs/manual.html#statements-and-expressions-type-conversions Type casts are unsafe and should be only used when required. |
05:15:18 | * | skrylar quit (Remote host closed the connection) |
05:23:24 | FromGitter | <ephja> "For an object branch switch system.reset has to be used" I'm currently violating this rule for optimization purposes. at least it compiles right now when setting the discriminator directly |
05:40:15 | nc-x | ephja: https://pastebin.com/vweB7YCg this compiles but gives runtime error `Error: unhandled exception: d is not accessible [FieldError]`. Uncomment `x.kind = b ` and now you get a segfault at runtime. Uncomment ` reset(x)` as well and now it works fine. |
05:40:50 | nc-x | So afaict, you will hit the FieldError or segfault currently. |
05:41:30 | nc-x | (Though I don't know if the segfault is a bug or not.) |
05:43:24 | nc-x | You can reassign it using object constructor without using reset() though. |
05:44:48 | * | nc-x quit (Quit: Page closed) |
05:45:36 | * | mstruebing1 joined #nim |
05:46:20 | * | nsf joined #nim |
05:47:04 | FromGitter | <ephja> yes that segfaults in nimGCunrefNoCycle. I wouldn't do it with references. I wonder if it sets anything other than the discriminator though |
05:47:24 | FromGitter | <ephja> I'm just trying to provide zero-cost abstractions |
05:51:27 | * | nc-x joined #nim |
05:52:46 | * | mstruebing1 quit (Remote host closed the connection) |
05:53:52 | nc-x | There is this RFC for making object variants safer https://github.com/nim-lang/Nim/issues/6921 Don't know what is its status though. And then there is https://github.com/nim-lang/Nim/issues/8623 too. |
05:54:03 | * | nc-x quit (Client Quit) |
06:14:25 | FromGitter | <ephja> as long as you can do unsafe things with some explicit notation |
07:00:40 | * | jrm27 joined #nim |
07:01:30 | * | Trustable joined #nim |
07:04:08 | * | stefanos82 joined #nim |
07:05:05 | * | jrm27 quit (Remote host closed the connection) |
07:07:22 | * | jjido joined #nim |
07:17:58 | FromGitter | <mratsim> @kdheepak this is a hack: ⏎ ⏎ ```code paste, see link``` [https://gitter.im/nim-lang/Nim?at=5baf27261c100a4f29042178] |
07:23:03 | * | devilspgd22 joined #nim |
07:23:49 | * | nc-x joined #nim |
07:24:44 | nc-x | https://totallywearingpants.com/posts/nim-language-highlights/ |
07:25:08 | nc-x | It has been posted on both hn and reddit and is in need of upvotes. |
07:28:09 | * | devilspgd22 quit (Remote host closed the connection) |
07:28:10 | * | nc-x quit (Client Quit) |
07:50:11 | * | jjido quit (Quit: My MacBook has gone to sleep. ZZZzzz…) |
08:03:37 | * | gmpreussner joined #nim |
08:04:35 | * | gmpreussner_ quit (Ping timeout: 268 seconds) |
08:12:42 | stefanos82 | question: does anyone knows a logging command or option for "./koch tests all"? I've got some error messages and cannot scroll all the way up. Should I rerun my tests and redirect my output to a file of my choice? |
08:12:48 | stefanos82 | isn't there any simpler option? |
08:17:57 | FromGitter | <mratsim> export HISTSIZE=10000 |
08:18:04 | FromGitter | <mratsim> 10000 lines of scrolling |
08:18:41 | FromGitter | <mratsim> or ./koch tests all > output.log |
08:19:07 | FromGitter | <mratsim> I don’t remember but you can pipe with the color code included and can open with less -R to still see the colors |
08:19:15 | FromGitter | <mratsim> maybe with tee |
08:20:42 | stefanos82 | we really need a logging mechanism as part of the building / testing process |
08:21:15 | stefanos82 | it doesn't make any sense to get error messages during the testing procedure without having them all in one place in the form of a table or something alike |
08:21:21 | FromGitter | <mratsim> You can add it to testament |
08:21:30 | FromGitter | <mratsim> I think that’s one of the plan. |
08:22:08 | stefanos82 | that's good to know. |
08:23:25 | stefanos82 | another thing that caught my attention was that certain tests, for instance cycleleak runs on a single core, whereas other tests were using all my CPU cores |
08:23:35 | stefanos82 | wouldn't make sense to use them all? |
08:23:42 | stefanos82 | unless there's a reason behind this behavior |
08:24:55 | * | dddddd joined #nim |
08:28:50 | FromGitter | <mratsim> I think parallel testing is pretty new, like 5 months or so |
08:30:38 | FromGitter | <kayabaNerve> @zacharycarter I can bring the Pepsi. |
08:30:39 | * | Zombie_Ryushu joined #nim |
08:31:41 | * | Zombie_Ryushu quit (Remote host closed the connection) |
08:35:25 | FromGitter | <tim-st> Should this work? `var x = 1 *2` |
08:35:50 | FromGitter | <tim-st> `in expression '1': identifier expected, but found '1' ⏎ type mismatch: got <int literal(2)>` |
08:38:22 | stefanos82 | @mratsim: another thing I did not know is that we, the devs should "git pull" the latest csourses ourselves. Don't ask me why, but I had the impression "bin/nim c koch" was fetching those latest updates itself lol |
08:38:35 | * | dzackg joined #nim |
08:39:53 | stefanos82 | @tim-st: I have just tested it myself and I personally would consider this behavior as a bug. |
08:40:06 | stefanos82 | Araq: is this behavior normal? |
08:40:27 | miran | @tim-st: it seems that `1* 2` works, but `1 *2` does not. hmmm |
08:40:36 | FromGitter | <tim-st> yes, I think so too, although I not really use this |
08:40:54 | * | dzackg quit (Remote host closed the connection) |
08:41:18 | stefanos82 | it must be a bug, because as miran said it works with `1* 2`, even though it throws a warning |
08:41:35 | stefanos82 | I get `Warning: Number of spaces around '*' is not consistent [Spacing]` |
08:42:12 | stefanos82 | can you open a ticket @tim-st? |
08:42:37 | FromGitter | <tim-st> yes |
08:44:03 | Araq | no bug here, echo $x vs echo $ x |
08:44:48 | Araq | I mean, the compiler even warns you about it, what are the odds "It's just a bug"? |
08:45:06 | FromGitter | <tim-st> no, it doesnt warn on `var x = 1 *2` |
08:45:30 | Araq | no, instead it fails |
08:45:33 | FromGitter | <tim-st> ```code paste, see link``` [https://gitter.im/nim-lang/Nim?at=5baf3bad1e23486b936021a3] |
08:45:42 | Araq | as it's parsed as 1(*2) |
08:46:19 | Araq | and that's what the compiler is telling you. |
08:46:53 | FromGitter | <tim-st> ok |
08:47:09 | FromGitter | <tim-st> just compared to python, there it works |
08:48:44 | * | tedski9 joined #nim |
08:49:55 | stefanos82 | Araq: in other words, `1* 2` is interpreted as (1*)2? |
08:50:25 | * | jjido joined #nim |
08:50:27 | Araq | Python has to special case 'print', 'await', etc instead |
08:50:37 | Araq | to be able to parse 'f a' |
08:50:59 | Araq | stefanos82, no because there are no suffix operators in Nim |
08:51:56 | stefanos82 | Araq: remind me how I can print the parsed code to see this output(?) |
08:52:34 | Araq | remote: error: GH006: Protected branch update failed for refs/heads/master. |
08:52:34 | Araq | remote: error: Required status check "continuous-integration/travis-ci" is expected. |
08:52:34 | Araq | To github.com:nim-lang/c2nim.git |
08:52:39 | Araq | what does that mean? |
08:53:27 | FromGitter | <mratsim> @tim-st `1 *2` is parsed like `foo -2` would be parsed |
08:53:37 | * | tedski9 quit (Read error: Connection reset by peer) |
08:53:40 | FromGitter | <mratsim> identifier space unary_op identifier |
08:54:05 | stefanos82 | Araq: https://github.com/OmniLayer/omnicore/issues/245 |
08:54:53 | FromGitter | <tim-st> @mratsim but `foo` is not a number |
08:55:12 | FromGitter | <mratsim> it’s a NimNode in the AST |
08:55:16 | FromGitter | <mratsim> just like 1 is |
08:55:35 | FromGitter | <tim-st> I assumed there is a difference between NimNode `1` and NimNode `foo` like category |
08:55:44 | Araq | in what universe should a+1 be parsed differently than 1+1 ? |
08:55:46 | FromGitter | <mratsim> everything is a NimNode :P |
08:56:04 | Araq | I can already hear the screams |
08:56:06 | FromGitter | <tim-st> Araq: as we have seen in Python Universe |
08:56:11 | Araq | "inconsistent!" |
08:56:30 | FromGitter | <mratsim> that would lead to parser special handling rules |
08:56:32 | FromGitter | <tim-st> probably Java allows it too and others |
08:56:50 | Araq | that's not how Python or Java handle this |
08:56:56 | FromGitter | <mratsim> we already have issues with literals, I don’t want to add parser issues on top |
08:57:03 | Araq | instead they just lack "calling via a space" |
08:57:09 | stefanos82 | Araq: so `1*2` and `1 * 2` is the proper use, but not `1* 2` or `1 *2`? |
08:57:12 | * | ec16 joined #nim |
08:57:22 | FromGitter | <mratsim> though the warning “number of spaces is inconsistent” really grates on me |
08:57:54 | Araq | stefanos82, yeah, exactly. |
08:57:56 | FromGitter | <mratsim> @stephanos82, yes |
08:57:58 | * | ec16 quit (Killed (Sigyn (Spam is off topic on freenode.))) |
08:58:29 | leorize | stefanos82: koch tests generate an html file with all the results and output once it finished |
08:58:40 | stefanos82 | leorize: oh? |
08:58:43 | stefanos82 | I didn't see one |
08:58:55 | stefanos82 | where is located? |
08:59:05 | leorize | root folder of the Nim source tree |
08:59:23 | leorize | testresults.html |
08:59:34 | stefanos82 | Araq: about the aforementioned syntax, it would be more than helpful to have something like GCC's latest behavior with "did you mean `this`"? |
08:59:51 | stefanos82 | thank you leorize! |
08:59:58 | stefanos82 | I learned something new today ^_^ |
09:00:07 | FromGitter | <timotheecour> @araq as alternative to https://github.com/nim-lang/Nim/pull/9100 would u accept a PR for baseName? |
09:00:27 | Araq | if you give it a sane name like lastPathComponent |
09:00:40 | FromGitter | <tim-st> btw I think this one is finished: https://github.com/nim-lang/Nim/pull/8778 |
09:02:31 | FromGitter | <timotheecour> how about `pathTail` ? (that u suggested before) |
09:02:50 | * | jjido quit (Quit: My MacBook has gone to sleep. ZZZzzz…) |
09:02:52 | stefanos82 | I have found the error thanks to leorize |
09:03:00 | Araq | usually a 'tail' is all the rest |
09:03:01 | stefanos82 | I don't have SFML headers installed |
09:03:18 | stefanos82 | this HTML file is sooooo useful! |
09:03:28 | Araq | /a/b/c # a is the head, b/c is the tail |
09:03:37 | stefanos82 | I honestly didn't know about it. |
09:03:44 | leorize | I know, helps me lots when porting Nim over to Haiku :) |
09:04:15 | stefanos82 | if Haiku wasn't so strict about its C++ syntax...I used have used it a long time ago |
09:04:51 | leorize | now you can forget all about that and use Nim :) |
09:04:51 | stefanos82 | I think I first saw it back in...2010? oh my, time flies. |
09:05:06 | stefanos82 | do they plan to use it as their core language?! |
09:05:12 | leorize | no ofc :P |
09:05:28 | stefanos82 | that's what I meant before -_- |
09:05:41 | leorize | oh |
09:05:53 | Araq | Haiku lost me as a user once I figured they have /usr/bin :P |
09:06:23 | leorize | they never have it? :P |
09:06:25 | stefanos82 | Araq: why's that? |
09:07:27 | FromGitter | <timotheecour> ya it’d be a bit confusing with `tailDir` ; ok for lastPathComponent although the name is rather verbose |
09:08:03 | Araq | 'lastPathPart' ? |
09:08:17 | * | krako_ joined #nim |
09:08:21 | stefanos82 | Araq: how do I run the test for tests/niminaction/Chapter8/ ? |
09:08:27 | stefanos82 | that's where the sfml is crashing |
09:08:31 | * | krako_ quit (Client Quit) |
09:08:36 | Araq | tt niminaction |
09:08:41 | stefanos82 | tt? |
09:08:54 | Araq | it's my alias to testament/tester |
09:08:59 | stefanos82 | the power of habit brother |
09:09:06 | leorize | ./koch tests cat niminaction |
09:09:11 | FromGitter | <timotheecour> pathFront ?? |
09:10:27 | * | krako quit (Ping timeout: 252 seconds) |
09:11:22 | Araq | pathFront, lol, sounds like some military term |
09:11:45 | Araq | arise my soldier! to the pathFront with you! |
09:12:50 | FromGitter | <timotheecour> its short and sweet for a commonly used function tho |
09:13:33 | FromGitter | <timotheecour> anyway not a sucker for names so lastPathPart it is |
09:14:04 | stefanos82 | perfect! my tests pass :D |
09:15:00 | stefanos82 | Araq: lots of terms are military based in programming, at least implicitly that is |
09:15:15 | stefanos82 | let's not forget that the majority of them started as military projects |
09:15:34 | * | Calinou joined #nim |
09:15:47 | stefanos82 | affirmative, negative, rise, null, attention, and so forth |
09:16:50 | * | nsf quit (Quit: WeeChat 2.2) |
09:16:58 | FromGitter | <mratsim> I didn’t know Forth was a military language /s |
09:17:33 | stefanos82 | Araq: can we add a `--list-categories` in `testament/tester`? I have no idea which categories are there available for me. |
09:18:04 | stefanos82 | @mratsim: hello? "Come forth soldier!" it's a military term lol |
09:18:24 | FromGitter | <mratsim> :D |
09:19:48 | leorize | stefanos82: ls tests |
09:19:54 | leorize | that's the categories lol |
09:20:00 | stefanos82 | no kidding |
09:20:32 | leorize | yes, you can even check it yourself by comparing with the html |
09:20:35 | Araq | there are some special categories too |
09:20:47 | Araq | like 'lib' |
09:20:54 | stefanos82 | I see |
09:21:16 | stefanos82 | therefore we do need to list them as part of tester |
09:30:35 | Araq | hmm how can I tell everybody to not merge feature PRs... |
09:31:06 | Araq | I think we need .since: "0.19.2" already |
09:34:40 | miran | Araq: ...by explicitly telling: "hey people, 0.19.0 is v1.0RC1 (and 0.19.2 is v1.0RC2) and there will be no new features until v1.0 is released"? |
09:35:09 | miran | (this is just my guess why you don't want feature PRs ;)) |
09:35:34 | Araq | a 0.19.2 should only fix the bugs in 0.19, nothing more |
09:35:49 | Araq | and I don't believe in manual cherrypicking of bugfixes |
09:37:52 | FromGitter | <timotheecour> the longer the time between releases, the more impractical it is to maintain point releases that fix bugs (especially when not cherry picked) |
09:38:49 | FromGitter | <timotheecour> especially if it’s 6 months in between |
09:39:16 | FromGitter | <timotheecour> alternative is to just fix regressions, not bugs |
09:44:10 | FromGitter | <mratsim> At scale we need a feature window and bug fix windows so that you can manage people expectations |
09:46:30 | stefanos82 | I guess dom96 should start preparing himself to updating his book to introduce 1.0 to the general public |
09:47:45 | * | Vladar joined #nim |
09:49:15 | FromGitter | <mratsim> @Araq, newruntime as been replaced by —gc:destructors right? |
09:50:27 | * | ritchie_ joined #nim |
09:50:40 | leorize | they still exists as two different switch |
09:50:48 | FromGitter | <mratsim> it’s just that it’s broken |
09:50:53 | leorize | with --gc:destructors doesn't actually work the last time I checked |
09:51:45 | leorize | `--newruntime` still works, not `--gc:destructors` :( |
09:52:44 | * | leorize quit (Quit: WeeChat 2.2) |
09:55:27 | FromGitter | <mratsim> https://github.com/nim-lang/Nim/issues/9117 |
09:56:15 | * | Calinou quit (Quit: http://quassel-irc.org - Discuter simplement. Partout.) |
09:57:02 | * | Trustable quit (Remote host closed the connection) |
10:10:37 | Araq | --newruntime doesn't do anything anymore, it will work like this: |
10:11:00 | Araq | Nim supports sinks, assignments, destructors, no switch required |
10:11:20 | Araq | --gc:destructors means strings and seqs also use the destructors, not the GC |
10:13:20 | stefanos82 | Araq: so the objective of the latest destructors' implementation is to get closer to C++'s RAII? |
10:13:54 | * | nc-x joined #nim |
10:14:44 | nc-x | Araq: Whats the reasoning for having gc'ed strings and seqs; and not make destructors the default? |
10:20:30 | * | nc-x quit (Quit: Page closed) |
10:22:23 | FromGitter | <kdheepak> > If you use inheritance, use methods: ⏎ ⏎ @mratsim of course! completely forgot about methods |
10:24:53 | FromGitter | <mratsim> @nc-x, they will be the default https://github.com/nim-lang/Nim/issues/7041 |
10:26:11 | FromGitter | <zacharycarter> @kdheepak sure - going to be starting in about half an hour |
10:26:18 | FromGitter | <zacharycarter> @kayabaNerve - sounds good! :P |
10:26:38 | FromGitter | <kdheepak> @zacharycarter where do you stream? twitch? |
10:28:03 | FromGitter | <zacharycarter> well - I don't normally stream, but I did set up a twitch for this :) - https://www.twitch.tv/zachary_carter |
10:28:13 | FromGitter | <zacharycarter> hopefully everything works! |
10:30:01 | * | vlad1777d joined #nim |
10:30:47 | * | nc-x joined #nim |
10:32:30 | nc-x | mratsim: I mean Araq just said that they will use destructors only when --gc:destructors. So why not for the other gc's as well? |
10:32:41 | * | nc-x quit (Client Quit) |
10:32:55 | FromGitter | <mratsim> transition period |
10:36:00 | * | nc-x joined #nim |
10:36:10 | nc-x | 👍 |
10:36:20 | * | nc-x quit (Client Quit) |
10:41:08 | FromGitter | <kdheepak> @zacharycarter exciting! looking forward to it! |
10:41:57 | * | jjido joined #nim |
10:47:39 | FromGitter | <zacharycarter> @kdheepak thanks! it should be fun! video works on twitch at least |
10:49:38 | * | thomasross_ joined #nim |
10:50:00 | FromGitter | <tim-st> where is the difference with string destructor compared to how it works now? |
10:50:10 | FromGitter | <mratsim> no garbage collection |
10:50:17 | FromGitter | <tim-st> like rust? |
10:50:25 | FromGitter | <mratsim> or C++, RAII |
10:50:44 | FromGitter | <tim-st> do I have to call the destructor or does the compiler insert it where it fits? |
10:51:02 | FromGitter | <mratsim> where it fits, it’s the whole point of destructors ;) |
10:51:06 | * | FromDiscord_ joined #nim |
10:51:14 | FromGitter | <mratsim> otherwise you can just use cstring / ptr char |
10:51:30 | FromGitter | <tim-st> where is garbage collection needed then when this will work? |
10:51:39 | * | beaumonta joined #nim |
10:51:40 | FromGitter | <mratsim> ref types, closures |
10:51:54 | FromGitter | <tim-st> ok, I thought string is a ref type too |
10:52:09 | FromGitter | <mratsim> currently it is, as are seq, but they have value semantics |
10:52:24 | * | mal``` joined #nim |
10:52:40 | FromGitter | <tim-st> ok, thanks, does it mean that the string is copied by value always when this is introduced? |
10:52:47 | FromGitter | <mratsim> it already is |
10:52:59 | FromGitter | <tim-st> when the string is 1gb it is copied? |
10:53:13 | * | Sargun_ joined #nim |
10:53:16 | FromGitter | <mratsim> except when using `let`, Araq introduces no copy optim that sometimes leak |
10:53:41 | FromGitter | <tim-st> ok, thanks, I assume that can improve performance? |
10:53:56 | FromGitter | <mratsim> you can do type foo {.shallow.} = object \n data: string if you want shallow copies by default |
10:54:31 | FromGitter | <mratsim> the main perf improvement is `move` and `borrow` when the compiler can prove at compile-time that there is no aliasing |
10:54:53 | FromGitter | <tim-st> ok, sounds good :) |
10:54:55 | FromGitter | <mratsim> you can get huge perf improvement while keeping value semantics |
10:55:19 | FromGitter | <mratsim> and without using cheap `let` tricks that fall apart :P |
10:56:20 | * | mal`` quit (Ping timeout: 240 seconds) |
10:56:21 | * | ng0 quit (Ping timeout: 240 seconds) |
10:56:21 | * | Cthalupa quit (Ping timeout: 240 seconds) |
10:56:21 | * | Sargun quit (Ping timeout: 240 seconds) |
10:56:21 | * | abeaumont quit (Ping timeout: 240 seconds) |
10:56:22 | * | FromDiscord quit (Ping timeout: 240 seconds) |
10:56:22 | * | thomasross quit (Ping timeout: 240 seconds) |
10:56:22 | * | shadowbane quit (Ping timeout: 240 seconds) |
10:57:02 | FromGitter | <tim-st> and for ref this doesnt work? how does rust handle this? |
10:57:20 | * | Cthalupa joined #nim |
10:57:29 | * | ng0 joined #nim |
10:57:43 | * | shadowbane joined #nim |
10:58:01 | FromGitter | <mratsim> You have to use Rc (reference counting) or Arc (Atomic Ref counting) to keep track of that |
10:58:21 | FromGitter | <mratsim> similar to Nim GC or C++ unique_ptr or shared_ptr |
10:58:38 | FromGitter | <tim-st> ok, thanks :) |
10:58:44 | FromGitter | <mratsim> I’m not sure how their Box types work |
10:59:21 | * | nif quit (Ping timeout: 252 seconds) |
10:59:55 | FromGitter | <mratsim> it probably rely on Rust lifetime analysis and uses destructors |
11:00:27 | FromGitter | <tim-st> yes, the lifetime thing is quite annoying, I like that I dont have to set those things in nim |
11:01:10 | FromGitter | <mratsim> you do have to take care of those though otherwise you get either random garbage or SIGSEGV |
11:01:16 | FromGitter | <zacharycarter> alright - stream is up - https://www.twitch.tv/zachary_carter - not sure which channel is pluged into it but I'm assuming the offtopic (twitch one) |
11:01:29 | FromGitter | <mratsim> nim-lang/twitch on gitter |
11:03:30 | * | nif joined #nim |
11:04:29 | FromGitter | <tekjar> Hi. Are the plans of nim without gc still on? |
11:04:34 | FromGitter | <kdheepak> Wasn't there a bot that sync'd chat between gitter/irc/discord and twitch? |
11:05:35 | FromGitter | <mratsim> twitch is only in offtopic |
11:06:17 | FromGitter | <mratsim> @tekjar https://github.com/nim-lang/Nim/issues/7041 GC will still be there, but builtin types won’t use it. |
11:08:00 | FromGitter | <tekjar> @mratsim Nice. Does this make using nim on microcontrollers easier? |
11:09:24 | FromGitter | <mratsim> I’m pretty sure it will, because you can’t use seq currently if you don’t want to use a GC. ⏎ Also ref types will support a custom allocator so you could create a memory pool with more ease for example |
11:14:46 | FromGitter | <tekjar> nice |
11:15:17 | Araq | yeah and also, we got system.move in 0.19 |
11:15:33 | Araq | so you can outsmart the compiler and tell it to move, not copy. |
11:15:50 | Araq | but better than that, the compiler actually produces a warning when it couldn't move on its own |
11:16:04 | Araq | so you don't have to litter your code with 'move'. |
11:16:33 | FromGitter | <tekjar> Wow nim has move semantics now? |
11:17:06 | Araq | not quite yet, but it's an unfinished beauty IMO |
11:18:05 | Araq | there a precise spec and an implementation that is not too far away from becoming reliable |
11:18:09 | FromGitter | <tekjar> Heheh Nim's transition from best of (C, python) to bestof(Rust, python) I guess |
11:18:57 | stefanos82 | Araq: is there a way to prevent SIGSEGV? I know it's C's behavior, but is there a way to prevent it from happening, like a protective mechanism or something? |
11:19:11 | Araq | import segfaults |
11:19:41 | stefanos82 | well, I meant with cases like --gc:v2 that causes this issue |
11:19:50 | * | Calinou joined #nim |
11:22:49 | * | nc-x joined #nim |
11:22:50 | Araq | for me v2 doesnot even compile anymore |
11:23:00 | Araq | yuriy broke it :-) |
11:23:16 | Araq | I tried to fix it but it was too hard :P |
11:23:19 | stefanos82 | lol |
11:23:24 | stefanos82 | by the way, how's the process with REPL? |
11:26:02 | FromGitter | <mratsim> @stephanos82: https://github.com/nim-lang/Nim/issues/8927 |
11:26:21 | stefanos82 | @mratsim: it's with 'f' mate, not 'ph' |
11:26:28 | FromGitter | <mratsim> oh |
11:26:28 | stefanos82 | that's why I don't get notified lol |
11:26:28 | * | zaatar1 joined #nim |
11:26:55 | * | zaatar1 quit (Remote host closed the connection) |
11:26:58 | FromGitter | <mratsim> I try to avoid f words ;) |
11:27:05 | * | jjido quit (Quit: My MacBook has gone to sleep. ZZZzzz…) |
11:30:54 | stefanos82 | well, it's not an 'f' word, but an 'f' character lol |
11:31:04 | * | KAHR-Alpha2 joined #nim |
11:32:21 | * | Calinou quit (Quit: http://quassel-irc.org - Discuter simplement. Partout.) |
11:32:59 | * | KAHR-Alpha2 quit (Killed (e (spam))) |
11:34:41 | * | nc-x quit (Quit: Page closed) |
11:35:25 | * | beaumonta left #nim (#nim) |
11:35:55 | * | abeaumont joined #nim |
11:48:00 | * | oda_4 joined #nim |
11:49:59 | * | oda_4 quit (Remote host closed the connection) |
11:50:20 | * | krako joined #nim |
11:51:13 | * | nsf joined #nim |
12:01:52 | * | smt joined #nim |
12:04:23 | * | SenasOzys quit (Remote host closed the connection) |
12:06:18 | * | SenasOzys joined #nim |
12:07:00 | * | krux02 joined #nim |
12:07:24 | * | SenasOzys quit (Remote host closed the connection) |
12:08:02 | * | SenasOzys joined #nim |
12:08:46 | * | skellock joined #nim |
12:11:07 | * | EWDurbin22 joined #nim |
12:14:01 | * | EWDurbin22 quit (Remote host closed the connection) |
12:15:59 | FromGitter | <kaushalmodi> miran, @tim-st : Just make it a rule to surround intended operators with spaces. |
12:16:46 | Araq | or leave out the spaces, 1+2 is fine too |
12:16:54 | Araq | you only need to be consistent |
12:17:17 | miran | @kaushalmodi: that's what i usually do, or leave out the spaces where it is more readable. |
12:17:17 | Araq | kaushalmodi: what's the state of Nim's docs now? |
12:17:30 | miran | e.g. `5 * (3+7)` |
12:18:15 | FromGitter | <kaushalmodi> Only one PR is remaining to fix the search on devel docs. But that needs to be squashed *and rebased*.. please don't simply merge. |
12:18:27 | Araq | sure thing |
12:18:34 | FromGitter | <kaushalmodi> About broken links, I'll rerun the link checker later today |
12:18:43 | FromGitter | <tim-st> @kaushalmodi yes, I always do this, just found out that it doesn't work when I calculated something in `nim secret` |
12:18:48 | Araq | also moving the dochack.js to the same dir works for me |
12:19:00 | FromGitter | <kaushalmodi> Yes, that PR does that |
12:19:22 | Araq | yeah I can understand why ../ made trouble |
12:19:39 | miran | are the wrong search results fixed? |
12:19:43 | FromGitter | <kaushalmodi> Thanks :) |
12:20:00 | * | jjido joined #nim |
12:20:05 | FromGitter | <kaushalmodi> miran: I am not aware of wrong search results |
12:20:18 | miran | last time i checked, if you search for `strutils`, and click "module strutils", it takes you to some random function inside of strutils module, not the top of the page |
12:21:04 | FromGitter | <kaushalmodi> I'd open an issue for that. It's the first time I am hearing. And copy @rayman22201 on that. |
12:22:04 | Araq | miran, something was fixed today, please retry |
12:22:58 | miran | Araq: it is fixed in the stable docs? ok, let me try it |
12:23:20 | * | wildlander quit (Quit: Konversation terminated!) |
12:23:30 | Araq | it's been deployed for the stable docs, yes |
12:24:42 | miran | nope, still the same. three results for "module strutils", one takes you to substitution, one to levenshtein, one to string interpolation |
12:27:20 | * | Calinou joined #nim |
12:27:52 | Araq | miran, ok, can reproduce :-) |
12:31:14 | miran | btw, this error is not something introduced recently. it's been like that for a while. (i thought it might be fixed in the devel, so i didn't report it) |
12:31:30 | FromDiscord_ | <Shield> can I get a minimal example which lets you run a nimscript function in a compiled nim program at runtime? |
12:35:42 | FromGitter | <vivekimsit> @mratsim cool, will try that soon |
12:37:47 | Araq | Shield: tests/compilerapi shows it |
12:43:16 | FromDiscord_ | <Shield> great! |
12:47:25 | * | couven92 joined #nim |
12:52:47 | * | PMunch joined #nim |
12:55:37 | miran | @kaushalmodi: yesterday we talked about an 'intro to macros' tutorial. have you seen this? https://hookrace.net/blog/introduction-to-metaprogramming-in-nim/ |
13:13:51 | * | Calinou quit (Quit: http://quassel-irc.org - Discuter simplement. Partout.) |
13:16:30 | FromGitter | <kaushalmodi> Turns out I had it bookmarked, and then forgot about it. I really need to *get* the macros .. the hype about it is killing me :P. Hopefully this week.. |
13:18:39 | krux02 | well it is a bit outdated there is no ``stmt`` anymore |
13:19:19 | FromGitter | <zacharycarter> I've read that article a ton of times - and maybe it's just I've learned a lot more since reading it - but I never thought it did a great job of explaining metaprogramming to a newb |
13:20:43 | * | skellock quit (Quit: WeeChat 1.9.1) |
13:20:53 | miran | i'm a macro newb, and i think it is quite hard to teach macros, if somebody will just read what have you written, because there are lots of jumps back and forward what you're trying to achieve |
13:22:04 | FromGitter | <zacharycarter> well - just conceptually I mean |
13:22:14 | FromGitter | <zacharycarter> a lot of programmers don't even get what AST is etc |
13:23:47 | FromDiscord_ | <Shield> indeed, but parseStmt does help a lot, it's easy to feed the AST human readable strings |
13:32:47 | miran | `parseStmt` is nice, but `dumpAstGen` is godsend! |
13:33:49 | FromGitter | <unreadable> hey, why is nim http library so slow comparing to others? |
13:33:51 | FromGitter | <unreadable> https://github.com/costajob/app-servers#hello-world |
13:34:27 | FromGitter | <unreadable> As seen in that repo |
13:35:22 | FromGitter | <alehander42> @kaushalmodi have you used lisp? |
13:36:04 | * | KwukDuck__ joined #nim |
13:38:03 | miran | @unreadable because nim is the only language there using only one core? |
13:38:33 | Araq | httpbeast is multithreaded iirc |
13:40:06 | * | KwukDuck__ quit (Remote host closed the connection) |
13:40:25 | * | hinv joined #nim |
13:40:29 | miran | "I used the asynchttpserver standard module of Nim, not supporting parallelism yet." |
13:41:46 | * | hinv quit (Killed (Sigyn (Spam is off topic on freenode.))) |
13:42:26 | FromGitter | <unreadable> Well miran, I don't think so |
13:42:32 | * | Guest11321 joined #nim |
13:42:52 | miran | see cpu usage in the table |
13:42:53 | * | Guest11321 quit (Remote host closed the connection) |
13:42:53 | FromGitter | <unreadable> NodeJs does not support parallelism, but still does better |
13:43:42 | FromGitter | <unreadable> hmm, seems that Nim trades performance for memory |
13:44:42 | FromGitter | <unreadable> Crystal is using same resources as Nim and does better |
13:47:06 | Araq | so use that and stop trolling us |
13:48:12 | FromGitter | <zacharycarter> and compile to windows while you're at it |
13:51:07 | FromGitter | <unreadable> Well, no trolling intended. I've actually planned on using nim for a micro service that requires mongo as well though.. |
13:51:40 | Araq | if you want parallelism, try httpbeast, it got very good benchmark numbers |
13:52:15 | Araq | and of course the usual disclaimer here. You're rich with your website long before the performance of these frameworks become an issue |
13:52:23 | FromGitter | <kaushalmodi> @alehander42 I use Emacs! :P I live and breath Elisp. |
13:52:29 | stefanos82 | interesting article in HN right now |
13:52:30 | stefanos82 | https://totallywearingpants.com/posts/nim-language-highlights/ |
13:52:51 | miran | stefanos82: link to HN discussion? |
13:52:58 | stefanos82 | no discussions yet |
13:53:01 | FromGitter | <kaushalmodi> @skellock is on a roll with these articles! Fine balance of information and humor. |
13:53:05 | stefanos82 | it's on the second page of HN |
13:54:02 | FromGitter | <kaushalmodi> HN is hit and miss.. you never know what gets to the front. Crappy articles often get to front page and good articles where the author put in a lot of time and research like this one don't. |
13:54:37 | Araq | I can't stand the nested replies of HN and reddit |
13:54:49 | Araq | IMO that UI is seriously outdated |
13:55:01 | FromGitter | <kaushalmodi> Araq: why? Ctrl+f works |
13:55:13 | Araq | and what I would search for? |
13:55:22 | FromGitter | <kaushalmodi> Also, an HN tip, subscribe to HN Replies |
13:55:24 | miran | well, this article is just a quick overview of nim features. i can understand why there is no discussion |
13:55:30 | FromGitter | <kaushalmodi> You get emails when someone replies to you. |
13:55:58 | FromGitter | <kaushalmodi> I would search for key words like Nim, and whatever you are interested in |
13:56:12 | FromGitter | <kaushalmodi> Example, in static site gen discussions, I search for Hugo |
13:56:20 | Araq | what? |
13:56:25 | miran | well, there is a possibility to be both nested and sorted chronologically (root posts) |
13:56:40 | stefanos82 | Araq: feel free to use this then https://vue-hn.now.sh/top |
13:56:51 | stefanos82 | it's a Vue.js front-end for HN |
13:56:59 | Araq | ha, blasphemy |
13:57:07 | FromGitter | <kaushalmodi> Araq: what was that "what?" in reference to? |
13:57:07 | Araq | I can only use a karax frontend for HN |
13:57:37 | Araq | kaushalmodi, Hugo is a fragrance for me |
13:58:05 | FromGitter | <kaushalmodi> Ah, it's the most awesome static site gen for me: gohugo.io |
13:58:15 | FromGitter | <kaushalmodi> https://gohugo.io |
13:59:01 | federico3 | this is offtopic |
13:59:10 | Araq | true |
13:59:26 | FromGitter | <kaushalmodi> true |
13:59:57 | * | tdc joined #nim |
14:00:02 | miran | let's go back to nim future plans. Araq, you said you want to merge only bug fixes from now on? |
14:00:40 | stefanos82 | miran: for versions 0.19.1 and 0.19.2 |
14:01:05 | miran | stefanos82: well, that's what is the next in line, no? ;) |
14:01:06 | stefanos82 | Araq said 0.19.1 should be seen as 1.0RC1 and 0.19.2 as 1.0RC2 |
14:02:59 | Araq | what? no, I only meant that we want to release 0.19.2 asap and it's better if no new features are added until that happened |
14:03:34 | * | jjido quit (Quit: My MacBook has gone to sleep. ZZZzzz…) |
14:04:15 | miran | well, on monday starts 'hacktoberfest', maybe this is a good opportunity/motivation for users to start contributing bugfixes |
14:04:37 | stefanos82 | let me check my logs to see how you said this, because I remember reading this before; about not adding new features, but fixing bugs only until v1.0 gets officially released |
14:04:59 | miran | stefanos82: that might be what *I* said, and it was just a guess of mine :) |
14:05:39 | stefanos82 | yep, I was about to say this |
14:05:42 | stefanos82 | my apologies Araq |
14:05:52 | stefanos82 | you were clear enough with your immediate reply |
14:06:46 | miran | maybe we can make some 'official announcement' that for hacktoberfest we want to see (only) bugfixes. (probably documentation improvements are also ok, just no new features) |
14:07:28 | * | Sembei joined #nim |
14:07:42 | * | wmclt joined #nim |
14:09:53 | * | Hasselsaurus26 joined #nim |
14:10:37 | FromGitter | <zetashift> How do I get the nimpretty binary? The vscode-nim plugin keeps nagging me with it but I can't find it and the issue I can find it about it says it's baked into the compiler? |
14:11:06 | stefanos82 | miran: why not mimic PHP's freeze state? |
14:11:28 | stefanos82 | this is how the core team do this |
14:13:00 | FromGitter | <Aaron-JM> Anyone have any ideas for a library that would to see added to nim that I could work on? |
14:13:12 | miran | stefanos82: what i'm aiming at is that things like hacktoberfest might be an extra motivation for people to contribute. by stating "we would really like to see bugfixes" you direct that motivation in right direction, which is mutually beneficial |
14:14:25 | FromGitter | <zetashift> @Aaron-JM check out https://github.com/nim-lang/needed-libraries/issues |
14:14:34 | stefanos82 | miran: I wholeheartedly agree with you. What I meant with my aforementioned statement is for future purposes *if* we could use it as a source of inspiration. There are countless projects that have useful procedures we could borrow from |
14:15:17 | FromGitter | <Aaron-JM> Thanks @zetashift |
14:15:21 | miran | thanks for the clarification |
14:15:38 | * | wmclt quit (Remote host closed the connection) |
14:16:46 | miran | now, let's hear what do Araq and dom96 think about this opportunity |
14:17:03 | * | Hasselsaurus26 quit (Ping timeout: 268 seconds) |
14:17:37 | Araq | so ... how does PHP do it? |
14:18:23 | stefanos82 | the freeze state? yes |
14:18:38 | Araq | yes |
14:19:25 | stefanos82 | right now they are in the RC cycle and right before the end of December, they will release version 7.3 |
14:20:45 | stefanos82 | Araq: https://wiki.php.net/todo/php73#timetable |
14:21:53 | stefanos82 | I personally find their strategy quite convenient, because it gives time to users to accept the fact that new features or some critical changes are coming |
14:22:17 | stefanos82 | therefore they get their code updated right before the official release of new version |
14:22:40 | Araq | seems to be a timeline, my question was more about "is there a github feature useful for that" |
14:23:03 | miran | yeah, don't click on "merge" button :P |
14:23:24 | Araq | I'm not the only one with 'merge' rights |
14:23:43 | stefanos82 | you can browse their git.php.net and see how they do it |
14:25:29 | * | SenasOzys quit (Remote host closed the connection) |
14:25:47 | miran | Araq: well, then it seems to me this is about communicaton between you and the core team, not about github features ;) |
14:25:50 | * | SenasOzys joined #nim |
14:28:58 | Araq | haven't you heard? software is frequently used to patch over buggy human interactions |
14:30:19 | FromGitter | <mratsim> Ithought buggy human interactions made buggy software |
14:30:44 | shashlick | Araq sounds like branch based dev to me |
14:32:54 | Araq | yeah, ok |
14:34:10 | stefanos82 | how about the milestones you are already using? |
14:34:22 | stefanos82 | as soon as those tickets get closed, you should release v1.0 |
14:34:47 | Araq | we have a v1 milestone |
14:34:54 | FromGitter | <unreadable> I'll give httpbeast a look. Not sure about the nimongo driver though.. |
14:35:13 | FromGitter | <unreadable> Anyway, very neat article about nim https://totallywearingpants.com/posts/nim-language-highlights/ |
14:35:29 | FromGitter | <unreadable> It really makes it shine |
14:39:39 | miran | shashlick: so another branch is needed, where new features would go? |
14:40:51 | shashlick | Well leave devel as is and branch off 0.19.0 and only port fixes to it |
14:41:30 | miran | sounds easy/doable and reasonable to me |
14:42:03 | * | Sargun_ quit (Changing host) |
14:42:03 | * | Sargun_ joined #nim |
14:46:19 | FromGitter | <zetashift> can I make a new seq with the range operator? like @[1..10] will return all the numbers from 1 to 10 or should I loop and add it? |
14:50:06 | miran | @zetashift import sequtils; let a = toSeq(1..10) |
14:52:49 | FromGitter | <zetashift> ah cool thans |
14:52:52 | FromGitter | <zetashift> thanks |
14:53:47 | * | onionhammer joined #nim |
14:55:22 | * | skellock joined #nim |
14:58:53 | skellock | thx @kaushalmodi -- i tried to tone down my "asshat" level a bit in the 2nd post :P |
14:58:57 | * | Friberg8 joined #nim |
15:00:58 | * | Ven`` joined #nim |
15:04:08 | * | Friberg8 quit (Remote host closed the connection) |
15:05:41 | * | tzekid joined #nim |
15:09:13 | miran | skellock: do you already have plans for 3rd post? :) |
15:09:13 | dom96 | miran: hacktoberfest event for Nim would be awesome |
15:09:17 | dom96 | You wanna organise it? :P |
15:09:27 | miran | dom96: tell me what i need to do :) |
15:09:54 | dom96 | Write up an article to post on nim-lang.org |
15:10:15 | dom96 | Inspiring people to contribute as much as possible during the month |
15:10:23 | dom96 | giving links to easy issues |
15:10:27 | dom96 | idea for packages to write |
15:10:49 | dom96 | (optional) create a graphic that represent's Nim's hacktoberfest |
15:11:08 | miran | hacktoberfest is all about pull requests, but packages are also ok i guess (but won't get you a t-shirt :)) |
15:11:10 | dom96 | (optional) offer rewards (stickers) and commit to sending them out to people who make at least one contribution that's valuable |
15:11:34 | * | PMunch quit (Ping timeout: 240 seconds) |
15:12:05 | dom96 | (I can transfer some money towards sticker purchases from our donations to you) |
15:12:32 | miran | dom96: ok, let's start small :) |
15:13:07 | federico3 | miran: you could encourage improving the docs with examples and tutorials |
15:13:32 | miran | federico3: yeah, docs improvements would be great, IMO |
15:13:39 | dom96 | Sure, just some ideas :) |
15:13:57 | Araq | nobody noticed the types in the docs are now hyperlinked :-( |
15:14:02 | dom96 | just letting you know how far I'm willing to take it, of course we would need to figure out how much that would cost |
15:14:23 | miran | btw, once there was a post in which it was analyzed which nim modules are most frequently used in github repos. anybody remembers that? |
15:14:31 | skellock | miran: yep, i'm going to keep going with the posts |
15:14:34 | Araq | miran, ask GULPF |
15:14:37 | Araq | bbl |
15:14:57 | miran | it would be useful to know which modules are most used, to first improve their docs |
15:18:36 | miran | skellock: nice to hear! if you want more responses on HN and r/programming, maybe spread the posts a bit more. your first one is still 'fresh', and now already we have a second one. |
15:19:15 | skellock | miran: and what if i wanted less responses on HN and r/programming... |
15:19:43 | miran | skellock: lol, then tell dom96 to stop spreading links to your articles :D :P |
15:19:58 | skellock | haha |
15:22:27 | * | PMunch joined #nim |
15:23:08 | skellock | i don't mind the flames in the comments also long as people download & try nim |
15:28:51 | * | krako left #nim (#nim) |
15:30:50 | * | Ven`` quit (Read error: Connection reset by peer) |
15:31:26 | * | Ven`` joined #nim |
15:34:54 | dom96 | Last time style insensitivity was argued on reddit there wasn't as many people supporting the arguments |
15:35:02 | dom96 | So thank you all of you who get the feature :) |
15:38:56 | dom96 | skellock: that said, I think it might be worth reworking that example |
15:39:13 | dom96 | nobody is writing g_o_o_d_d_a_y_t_o_y_o_u |
15:39:16 | dom96 | and nobody should |
15:39:25 | dom96 | What people will want is to use a snake_case library with camelCase |
15:39:32 | dom96 | Any chance you could change the example to show that off? |
15:39:50 | FromGitter | <citycide> Araq: I did notice that types are links, it's nifty 👍 |
15:46:50 | * | Caleb|8 joined #nim |
15:47:48 | * | Caleb|8 quit (Remote host closed the connection) |
15:49:05 | * | emacsoma` joined #nim |
15:49:18 | * | Dropa27 joined #nim |
15:49:36 | * | emacsoma` quit (Remote host closed the connection) |
15:50:02 | * | Dropa27 quit (Remote host closed the connection) |
15:55:41 | FromDiscord_ | <exelotl> I'm kinda struggling with this even though I feel like it shouldn't be a hard problem |
15:56:36 | FromDiscord_ | <exelotl> how do I make a template or macro such that nameOf(foo) == "foo" |
15:57:25 | FromDiscord_ | <exelotl> like, given an untyped identifier it gives a string representation of it |
15:59:32 | * | redlegion_ joined #nim |
15:59:32 | * | redlegion_ quit (Client Quit) |
16:00:02 | * | chris|18 joined #nim |
16:00:20 | miran | exelotl: see here https://flenniken.net/blog/nim-macros/ |
16:00:34 | miran | i think one example does exactly what you're trying to do |
16:02:09 | miran | well, that example works as a pragma |
16:03:29 | * | chris|18 quit (Remote host closed the connection) |
16:05:11 | skellock | dom96: copy that. updated. thx for the guidance. |
16:08:54 | * | leorize joined #nim |
16:14:04 | * | NYTimes23 joined #nim |
16:14:07 | * | Ven`` quit (Quit: My MacBook has gone to sleep. ZZZzzz…) |
16:14:36 | * | NYTimes23 quit (Remote host closed the connection) |
16:16:10 | * | oem joined #nim |
16:18:20 | * | tzekid quit (Remote host closed the connection) |
16:18:31 | FromGitter | <tim-st> pure enums still work in 0.19.0 ? |
16:18:36 | FromGitter | <tim-st> I thought it was removed |
16:18:40 | * | tzekid joined #nim |
16:19:12 | * | vlad1777d quit (Ping timeout: 272 seconds) |
16:20:16 | FromGitter | <mratsim> the pragma is a no-op |
16:20:24 | FromGitter | <tim-st> ok, I see, it will be removed in future |
16:20:37 | FromGitter | <mratsim> no one heard about transition period :P |
16:22:42 | * | elrood joined #nim |
16:27:22 | * | phuzion20 joined #nim |
16:29:12 | * | phuzion20 quit (Remote host closed the connection) |
16:34:51 | stefanos82 | dom96: "idea for packages to write"; well, we have jester that competes with Simatra-like frameworks. All we need now it's a Django-like framework that implemented with Nim |
16:35:09 | stefanos82 | and an easy way to migrate from Django to this new <Foo> framework |
16:37:11 | dom96 | we need lots of things :P |
16:37:23 | dom96 | https://github.com/nim-lang/needed-libraries |
16:38:38 | * | _0ffh joined #nim |
16:42:36 | shashlick | Honestly I didn't get style insensitivity but makes sense now |
16:42:53 | stefanos82 | dom96: like milk, eggs, shampoo, oil, bread, and cheese? |
16:42:54 | shashlick | I've never been too uptight with my way or the highway |
16:43:16 | shashlick | Probably why I didn't get it |
16:43:56 | shashlick | Tabs vs spaces and so forth |
16:44:46 | shashlick | Too much time is spent evangelizing one true way, the universe loves diversity |
16:52:06 | * | failure_ joined #nim |
16:55:44 | * | failure_ quit (Killed (Sigyn (Spam is off topic on freenode.))) |
17:00:43 | Araq | tim-st: Pure enums works as described in the manual |
17:01:14 | Araq | the manual does a pretty bad job of outlining how it will work in the future, but it describes the reality for 0.19 |
17:02:21 | * | skellock quit (Ping timeout: 252 seconds) |
17:02:29 | FromGitter | <timotheecour> nonpure enum will behave as current pure enum, or the other way around? |
17:02:50 | FromGitter | <timotheecour> I hope it’s the former |
17:03:05 | * | vlad1777d joined #nim |
17:04:26 | Araq | as I've said, all enums will be "Pure, unless the usage is not ambiguous" |
17:04:45 | Araq | which is consistent with how all of the rest of Nim works. |
17:04:57 | * | wildlander joined #nim |
17:06:06 | Araq | yeah, I know you don't like it because you found a term to make it look bad ("scope pollution"), that's another discussion then though. |
17:07:57 | * | wildlander quit (Read error: Connection reset by peer) |
17:08:10 | * | wildlander joined #nim |
17:08:20 | FromGitter | <timotheecour> the current (after your modification ~1month ago) pure enum seems like a fine default for all enum; why not use that ? cf https://github.com/nim-lang/Nim/issues/8850 |
17:08:48 | Araq | yes, we will use that. |
17:09:02 | Araq | that's what I've tried to say. |
17:09:14 | FromGitter | <tim-st> Does it mean `EnumType.enumValue` will be recommended way or only `enumValue`? |
17:09:44 | Araq | it's up to you |
17:09:52 | FromGitter | <timotheecour> ok so then your answer to "nonpure enum will behave as current (as of your 1 month old modification) pure enum” is yes ? |
17:10:02 | Araq | yes. |
17:10:12 | FromGitter | <timotheecour> Cool. |
17:10:14 | FromGitter | <tim-st> I prefer the first one, but I understood from chat that first one goes away so I changed my code and that looks a bit bad |
17:13:46 | * | beka15 joined #nim |
17:13:48 | Araq | the idea is that you can write 'x in {Enum.valueA, valueB}' without the more complex scope injection rules that Swift uses (and that break in DSLs) |
17:15:19 | FromGitter | <tim-st> ok, thanks |
17:17:05 | * | oem quit (Remote host closed the connection) |
17:17:21 | * | beka15 quit (Remote host closed the connection) |
17:21:25 | FromGitter | <kaushalmodi> Araq: I just force pushed the dochack.js PR; no modifications.. just rebased and force pushed |
17:22:01 | Araq | what do you mean? the crash is gone when you type 'type' in the search, I tested it myself |
17:22:26 | FromGitter | <kaushalmodi> no.. the integration of dochack.js copy into koch docs |
17:22:31 | FromGitter | <kaushalmodi> and the moving from ../ to ./ |
17:23:16 | * | Guest11287 joined #nim |
17:23:52 | FromGitter | <kaushalmodi> and thanks for fixing those doc links |
17:23:55 | FromGitter | <kaushalmodi> down to just 7 |
17:24:00 | FromGitter | <kaushalmodi> ```code paste, see link``` [https://gitter.im/nim-lang/Nim?at=5bafb5303844923661bc9714] |
17:24:19 | FromGitter | <kaushalmodi> basically 2 :) |
17:25:25 | FromGitter | <timotheecour> lastPathPart : https://github.com/nim-lang/Nim/pull/9116 is now green ; but what do u think of pathSuffix instead of lastPathPart ? |
17:25:52 | FromGitter | <kaushalmodi> lastPartPart looks more meaningful IMO |
17:28:04 | * | Guest11287 quit (Remote host closed the connection) |
17:30:38 | Araq | https://nim-lang.org/docs/c2nim.html ? |
17:31:37 | FromGitter | <kaushalmodi> c2nim.html does not exist in doc/html when I do koch docs |
17:32:20 | Araq | true, it's a separate project |
17:32:47 | FromGitter | <kaushalmodi> ok.. should that be part of koch docs? |
17:33:17 | Araq | IMO no. but how to handle external links is unclear |
17:33:31 | FromGitter | <kaushalmodi> https://nim-lang.github.io/Nim/c2nim.html is 404 |
17:33:43 | Araq | as I said, ideally we also link to popular Nimble packages |
17:33:48 | FromGitter | <kaushalmodi> so need to add c2nim generation to before_deploy in Travis |
17:34:16 | Araq | sounds more like your link checker should special case c2nim? |
17:34:26 | FromGitter | <kaushalmodi> yes, I can add an ignore |
17:34:32 | FromGitter | <kaushalmodi> but needs to fix devel docs too? |
17:34:34 | FromGitter | <kaushalmodi> or not? |
17:34:53 | FromGitter | <kaushalmodi> btw for external link collection, I can suggest a simple toml file |
17:34:55 | FromGitter | <kaushalmodi> example: https://github.com/kaushalmodi/ox-hugo/blob/master/doc/data/users.toml |
17:35:21 | Araq | hmm the link to c2nim should just be absolute |
17:35:29 | Araq | that would fix it too, right? |
17:35:33 | FromGitter | <kaushalmodi> yes |
17:35:48 | Araq | ok, that's a good solution then |
17:35:59 | FromGitter | <kaushalmodi> cool |
17:36:27 | FromGitter | <kaushalmodi> and see the above toml suggestion for external links.. then we can collect/maintain ext links from one place |
17:36:37 | * | anamok joined #nim |
17:36:39 | anamok | hi |
17:36:42 | FromGitter | <kaushalmodi> and have a way to fetch an ext link using a toml key |
17:37:17 | Araq | hmm isn't this more helpful for the Nim website? |
17:37:22 | anamok | How to convert a mutable seq[int] for instance to an immutable one? And vice versa? |
17:37:29 | Araq | which is in its own repo now, remember. |
17:38:05 | FromGitter | <kaushalmodi> yes, I haven't touched that repo. I am just suggesting a general solution for data collection |
17:38:42 | miran | anamok: `var a = @[1, 2, 3]; let b = a` ? |
17:38:47 | Araq | anamok, mutability is not an aspect of the type, but of the "symbol kind", 'let' is immutable, 'var' is mutable, as a parameter it's immutable unless you use a 'var' parameter |
17:40:56 | * | leru joined #nim |
17:44:19 | FromGitter | <codenoid> how to take enum as argument with T |
17:44:41 | anamok | miran: that will be an immutable view. If you add something to `a`, that'll be visible in `b` too. How could you have an immutable copy of `a`? |
17:44:56 | miran | anamok: i don't think so |
17:45:08 | Araq | anamok, that's a long outstanding bug |
17:45:40 | miran | @codenoid: i don't understand a question, can you explain a bit, or show with your code what are you trying to do |
17:47:14 | * | leru quit (Ping timeout: 272 seconds) |
17:47:19 | * | tzekid quit (Ping timeout: 250 seconds) |
17:47:36 | miran | anamok: http://ix.io/1nQL/ |
17:48:04 | Araq | miran, and now do the same in a 'main' proc :P |
17:48:37 | miran | Araq: ouch!! |
17:48:58 | Araq | yeah I know. unfortunately my compiler relies on this bug :P |
17:49:27 | Araq | now that we are getting a move optimizer we can finally fix it though without too bad performance regressions |
17:49:37 | FromGitter | <codenoid> i want enumerable arg from proc |
17:49:38 | miran | is there a remedy for this? in python that would be using `deepCopy` |
17:49:39 | FromGitter | <codenoid> get |
17:49:49 | Araq | miran, type 'var' instead of 'let' |
17:50:29 | miran | oh, i totaly abandoned snake_case it seems :D when did that happen? (in python it would be `deep_copy`, of course :)) |
17:50:52 | Araq | I think it's deepcopy in Python |
17:51:29 | miran | Araq: yeah, `var` does the trick, but anamok asked about making it immutable. |
17:51:34 | Araq | https://docs.python.org/2/library/copy.html#copy.deepcopy |
17:52:11 | miran | `var temp = a; let b = temp`? :D |
17:52:49 | _0ffh | hi all, i'm new! i tried to rtfm, but i can't seem to find how i can get to the intermidate c code of my nim programmes (for cross compilation to anther platform) |
17:53:23 | miran | not only did i forget about snake_case, i also forgot the names of python functions! ;) this is a testament about the power of nim, and how much do i use it |
17:53:56 | miran | haven't written any meaningful python in a quite long time now |
17:55:31 | anamok | miran: thanks for the example. So `var b = a` makes a copy of `a`. |
17:58:09 | elrood | Araq, don't really want to be that guy, but i still get close to 6k broken links in the docs, and that's only the local ones. those to the github sources seem to lead into cloud 404 as well. just saying, however, to be frank i'd just ignore this for now tho, it's doesn't really have a lot of motivation potential for the weekend |
18:00:19 | * | kemurphy19 joined #nim |
18:02:01 | * | Tortice joined #nim |
18:02:20 | Tortice | Does nim have something like ruby's .each_slice? |
18:04:21 | FromGitter | <kaushalmodi> elrood: https://nim-lang.github.io/Nim/ should have just 7 broken links |
18:04:29 | * | geocar quit (Quit: Connection closed for inactivity) |
18:04:33 | miran | Tortice: what would that be? what does it do? |
18:05:00 | * | flaviu quit (Read error: Connection reset by peer) |
18:06:25 | stefanos82 | miran: it slices an array to N pieces, depending on each_slice() passing argument |
18:07:02 | * | kemurphy19 quit (Remote host closed the connection) |
18:07:09 | stefanos82 | basically it slices an existing array every N steps |
18:07:47 | stefanos82 | for instance, an array of 10 elements, 1, 2, 3, ... 10, will produce [1,2, 3], [4, 5, 6], [7,8,9], and [10] |
18:08:04 | Araq | elrood, please be more precise? Which links are 404s? Are you sure it's not your browser's cache? |
18:08:35 | Tortice | a = (1..10).each_slice(2) do |i| puts i end outputs [1, 2] [3,4] [5,6] [7,8] [9,10] |
18:08:42 | elrood | kaushalmodi, does that include checking for fragment identifiers (#someid)? |
18:10:33 | miran | stefanos82: Tortice: so it is `chain` in reverse direction? :) i don't know if something like that exists |
18:13:25 | miran | i might add something like that to 'itertools' if there's interest |
18:13:34 | elrood | Araq, won't completely rule out any local problems on a saturday evening, but koch docs generated links akin to https://github.com/nim-lang/Nim/edit/devel/stats.nim and https://github.com/nim-lang/Nim/tree/master/nre.nim here |
18:15:25 | FromGitter | <kaushalmodi> elrood: I manually checked few fragments and they worked. The tool (htmltest) has a bug that gives false failures with local fragments |
18:15:34 | FromGitter | <kaushalmodi> so I disabled them |
18:15:44 | stefanos82 | miran: think of it this way: "slice this existing array, each of generated ones of 3 elements" |
18:15:51 | FromGitter | <kaushalmodi> elrood: can you give an example of broken local fragment |
18:18:44 | FromGitter | <kaushalmodi> elrood: I think nre is not published anymore |
18:18:54 | FromGitter | <kaushalmodi> nothing in the current docs links to nre |
18:19:41 | FromGitter | <kaushalmodi> Araq: correct if above wrong |
18:19:44 | * | jjido joined #nim |
18:20:13 | elrood | kaushalmodi, https://pastebin.com/5xpBC6Ag . please take that with a grain of salt, it's been generated by a hacky script |
18:20:22 | FromGitter | <kaushalmodi> ok.. it *just* got fixed |
18:20:22 | FromGitter | <kaushalmodi> https://github.com/nim-lang/Nim/commit/532e2ee0b2702b86365b54bc58bcb55eb8c8e222 |
18:20:24 | FromGitter | <kaushalmodi> :) |
18:21:09 | FromGitter | <kaushalmodi> elrood: I have an issue open for broken links : https://github.com/nim-lang/Nim/issues/9109 |
18:21:37 | FromGitter | <kaushalmodi> add your findings there (if links are still broken on https://nim-lang.github.io/Nim/ (that's the official devel build of docs) |
18:21:51 | FromGitter | <kaushalmodi> run your script on that URL |
18:22:44 | * | tzekid joined #nim |
18:24:54 | * | konmae joined #nim |
18:29:14 | * | konmae quit (Ping timeout: 244 seconds) |
18:31:20 | Araq | kaushalmodi, can you publish your tool? |
18:34:02 | * | PMunch quit (Remote host closed the connection) |
18:34:37 | * | nsf quit (Quit: WeeChat 2.2) |
18:36:27 | FromGitter | <adam-r-kowalski> Is there a list of all the built in concepts? I want to make sure I’m only creating concepts that don’t already exist in the standard, and that I am consistent with the naming |
18:36:40 | * | hendrix10 joined #nim |
18:36:49 | stefanos82 | is documentation alright? I press on certain links and do not take me anywhere |
18:37:28 | Araq | stefanos82, for example? |
18:37:39 | stefanos82 | I looked for walkFiles |
18:37:50 | stefanos82 | I found it and pressed the link to take me there |
18:37:53 | stefanos82 | nothing happens |
18:38:59 | FromGitter | <adam-r-kowalski> @Araq in the manual I see we have concepts like Enumerable, AdditiveMonoid and other useful definitions, but are they defined under some module in the standard? Or where can I take a look at the ones already defined |
18:40:45 | Araq | there are none in the stdlib |
18:41:06 | anamok | miran: here is the bug I ran into: http://ix.io/1nR4 . However, if you run it in the global space, i.e. without a main function, it gives the expected result. |
18:41:28 | * | hendrix10 quit (Remote host closed the connection) |
18:41:39 | miran | anamok: yep, that's what Araq has pointed out earlier |
18:42:08 | FromGitter | <adam-r-kowalski> Oh my bad, is there some discussion I can read about or something that talks about them in more detail? I tried googling around but I wasn’t able to find much yet. Are we planning on utilizing them throughout the stdlib at some point? Like openarray seems like a perfect use case for a concept. |
18:42:35 | miran | anamok: ugly hack is to do `var temp = a; let b = temp` var copies, and then let makes it immutable |
18:44:13 | _0ffh | how do i get c generated c code? |
18:45:12 | miran | _0ffh: take a look at ~/.cache/nim/yourfilename/ |
18:45:15 | anamok | miran: it did the trick |
18:45:51 | miran | _0ffh: there should be a file called yourfile.c, but — it might not look as pretty as you expect ;) |
18:46:10 | _0ffh | thank you very much, i've been lookin in nimcache... |
18:47:15 | Araq | compile with -d:release to get prettier C code |
18:48:16 | _0ffh | great, thanks! |
18:48:18 | Araq | stefanos82, works for me in https://nim-lang.org/docs/system.html I type 'walkFiles' in the search |
18:48:26 | stefanos82 | click it |
18:48:31 | Araq | https://nim-lang.org/docs/os.html#walkFiles.i%2Cstring |
18:48:32 | stefanos82 | does it take you to walkFiles? |
18:48:35 | Araq | yeah |
18:48:39 | stefanos82 | weird |
18:48:44 | stefanos82 | let me check it with Chromium |
18:49:01 | miran | works ok on vivaldi (chromium engine) |
18:50:16 | * | avsej quit (Quit: Quit) |
18:50:51 | * | avsej joined #nim |
18:50:52 | * | avsej quit (Changing host) |
18:50:52 | * | avsej joined #nim |
18:50:56 | stefanos82 | Araq: it does not work with Firefox 52.9.0 and Waterfox 56.2.3 |
18:51:39 | Araq | ok... |
18:51:43 | Araq | o.O |
18:51:43 | stefanos82 | with Chromium works as expected |
18:52:06 | Araq | I love the web |
18:52:07 | miran | works ok on firefox 62 onlinux |
18:52:11 | miran | *on linux |
18:52:23 | stefanos82 | miran: I'm on Debian testing 64-bit |
18:52:31 | stefanos82 | also cleared my cache |
18:55:51 | FromGitter | <kaushalmodi> Araq: It's not my tool |
18:56:01 | FromGitter | <kaushalmodi> https://github.com/wjdp/htmltest |
18:57:14 | FromGitter | <kaushalmodi> It's easy to get it's static binary |
18:57:33 | FromGitter | <kaushalmodi> I was infact going to suggest to add it to Travis so that all docs links are always valid |
18:58:03 | stefanos82 | question: why are we using <?xml version="1.0" encoding="utf-8" ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "">http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> in place of <!doctype html> which is supported pretty much everywhere? |
18:58:06 | FromGitter | <kaushalmodi> In Travis, you just `curl` to get the binary of the tool and run it.. takes <1 min to run it |
18:58:21 | FromGitter | <kaushalmodi> +1 to what stefanos82 said |
18:58:39 | * | MarderIII joined #nim |
19:02:24 | Araq | stefanos82: legacy |
19:02:57 | stefanos82 | also, the reason the aforementioned links do not work is an old issue with docs already reported back in July |
19:03:07 | stefanos82 | https://irclogs.nim-lang.org/20-07-2018.html |
19:03:22 | stefanos82 | data-doc-search-tag |
19:04:13 | FromGitter | <kaushalmodi> stefanos82: the data-doc-search-tag definitely exist in the latest theindex.html |
19:04:16 | FromGitter | <kaushalmodi> do you want to try it out |
19:04:18 | FromGitter | <kaushalmodi> ? |
19:04:27 | * | bartholin12 joined #nim |
19:04:29 | stefanos82 | I'm browsing the live documentation |
19:05:12 | FromGitter | <kaushalmodi> Araq: *final* 1 error, newly introduced by nre :) |
19:05:15 | FromGitter | <kaushalmodi> ```code paste, see link``` [https://gitter.im/nim-lang/Nim?at=5bafccebc7bf7c36628f576b] |
19:05:49 | FromGitter | <kaushalmodi> Araq: let me know what you think about htmltest to Travis |
19:05:59 | FromGitter | <kaushalmodi> as you see above it took just 3 seconds to find that single 404 |
19:06:20 | FromGitter | <kaushalmodi> it uses cache and Travis allows caching any dir |
19:06:37 | Araq | would be nicer if we could use nim's parsehtml to do that |
19:06:38 | FromGitter | <kaushalmodi> It you don't consider a Go-built binary to add this check, I can submit a PR |
19:07:03 | FromGitter | <kaushalmodi> when we can a Nim solution, we would of course replace htmltest with that |
19:07:40 | Araq | well a Nim solution is maybe 20 lines of code |
19:07:45 | FromGitter | <kaushalmodi> *If you don't consider a Go-built binary as a blasphemy |
19:08:07 | FromGitter | <kaushalmodi> this utility does a lot of other checks |
19:08:10 | FromGitter | <kaushalmodi> see its readme |
19:08:59 | FromDiscord_ | <deech> Small thing but I recommend also including the MIT license in it's own file at the root of the project. |
19:11:50 | * | bartholin12 quit (Remote host closed the connection) |
19:12:28 | FromGitter | <kaushalmodi> elrood: I am also ignoring the Github source/edit link checks for now because the htmltest is too fast.. causes github server to return HTTP 429 error codes :P |
19:12:44 | Araq | er... |
19:12:53 | Araq | that's a denial of service attack then |
19:13:27 | Araq | better not add this to travis just yet. |
19:13:37 | FromGitter | <kaushalmodi> yeah.. it's too fast.. I have suggested the dev to not check the same link again: https://github.com/wjdp/htmltest/issues/105 |
19:13:54 | FromGitter | <kaushalmodi> it's just unnecessary to check the same URL again |
19:14:05 | Araq | it's not "too fast", it's a poor crawler |
19:14:24 | Tortice | Is this an okay implementation? http://ix.io/1nRm |
19:14:32 | FromGitter | <kaushalmodi> well.. at least it helped fix the Nim docs |
19:15:05 | FromGitter | <kaushalmodi> except for the GitHub links there is a good amount of confidence that right now *only 1* link is broken in Nim docs :D |
19:15:16 | Araq | sure but this thing runs 20x a day |
19:15:21 | Araq | *would run |
19:15:35 | FromGitter | <kaushalmodi> can be conditioned to run it just once a day in travis |
19:15:42 | Araq | we can add it to the "nightlies" checks |
19:15:44 | miran | Tortice: use `openArray` instead of `seq` so it works also on arrays and strings. i would use generics (`[T]`) instead of `auto` |
19:15:46 | FromGitter | <kaushalmodi> I don't know how.. but pretty sure there's a way.. |
19:16:11 | FromGitter | <kaushalmodi> You can are fine adding htmltest, I'll find a way to make it run once a day |
19:16:28 | FromGitter | <kaushalmodi> (and ignore github checks till the dev fixes that issue) |
19:16:41 | miran | Tortice: there is also `..<` operator so you don't have to do `i+n-1`, and you'd have `i ..< i+n` |
19:17:43 | FromGitter | <kaushalmodi> Araq: And https://github.com/nim-lang/Nim/pull/9110 is passing tests, rebased and ready for merging |
19:17:50 | FromGitter | <kaushalmodi> then the search will work on devel docs too :) |
19:21:13 | * | jjido quit (Quit: My MacBook has gone to sleep. ZZZzzz…) |
19:23:51 | * | Calinou joined #nim |
19:25:36 | FromGitter | <bung87> how to convert c++ std string to nim string in nim? I have std::string::c_str |
19:28:05 | Tortice | I can't compile it when I change seq to openArray, I get invalid type: 'T' in this context: 'iterator (s: openArray, n: int): untyped{.inline.}' for proc |
19:28:17 | Araq | $myCstring |
19:29:16 | * | gangstacat quit (Quit: Ĝis!) |
19:30:18 | miran | Tortice: `iterator each_slice[T](s: openArray[T], n: int): seq[T] =` |
19:30:27 | * | Calinou quit (Quit: http://quassel-irc.org - Discuter simplement. Partout.) |
19:30:42 | * | Calinou joined #nim |
19:31:03 | Tortice | that's pretty neat |
19:31:39 | FromGitter | <bung87> `error: assigning to 'NCSTRING' (aka 'char *') from incompatible type 'const std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::value_type *' (aka 'const char *') ⏎ ⏎ ``` T1_ = x.c_str();``` ⏎ ⏎ ` [https://gitter.im/nim-lang/Nim?at=5bafd31b3844923661bd4894] |
19:32:20 | FromGitter | <kayabaNerve> @bung87 Looks like you need a binary cast. |
19:32:41 | FromGitter | <kayabaNerve> (char *) x.c_str() |
19:32:55 | FromGitter | <bung87> I searched stack overflow them use memcpy to a vector |
19:33:31 | FromGitter | <bung87> @kayabaNerve that’s in c++ ? |
19:34:20 | miran | Tortice: here is my version, without try-except: http://ix.io/1nRv/ |
19:34:26 | * | skellock joined #nim |
19:34:45 | miran | Tortice: see that you can now pass the strings too |
19:35:45 | FromGitter | <kayabaNerve> @bung87 Yes. You'll need to have Nim do that. |
19:36:14 | Tortice | thanks, appreciated |
19:37:18 | FromGitter | <bung87> could it able to convert it in nim? |
19:37:37 | FromGitter | <bung87> https://stackoverflow.com/questions/11821491/converting-string-to-cstring-in-c |
19:39:06 | * | miran quit (Ping timeout: 252 seconds) |
19:41:53 | * | miran joined #nim |
19:47:36 | * | miran quit (Remote host closed the connection) |
19:48:13 | Tortice | using ui, is there a way to see if a checkbox is toggled? or do I have to use .ontoggled |
19:57:12 | Araq | I don't know |
20:01:24 | * | aziz joined #nim |
20:03:39 | FromGitter | <vivekimsit> @mratsim sorry to bother you again, the gitter I think doesn't support search history. Can you please let me know the blockchain application again? |
20:04:27 | * | tzekid quit (Remote host closed the connection) |
20:27:18 | * | bitch15 joined #nim |
20:28:17 | * | bitch15 quit (Remote host closed the connection) |
20:36:53 | * | stefanos82 quit (Quit: Quitting for now...) |
20:40:57 | FromGitter | <zetashift> StatusIM? |
20:50:28 | * | VanClone10 joined #nim |
20:59:34 | FromGitter | <bung87> I tried it in cpp and wrapped in nim , it requires get representation of a type one by one if the data is a container type . |
20:59:34 | * | nsf joined #nim |
21:01:36 | * | aziz quit (Ping timeout: 252 seconds) |
21:02:09 | * | VanClone10 quit (Ping timeout: 252 seconds) |
21:02:45 | anamok | Should I leave two empty lines between functions / procedures? (like in Python) |
21:05:09 | _0ffh | anyone else having trouble installing nimcl via nimble (/tmp/nimble_6603/githubcom_unicreditnimcl/nimcl.nimble(11, 37) Error: undeclared identifier: 'stmt') |
21:06:05 | Tortice | just installed fine for me, make sure you have the opencl -dev packages |
21:06:39 | _0ffh | hmmm, i'm sure i have the c headers, but i'll check if anything els is missing |
21:07:43 | FromGitter | <zetashift> @anamok I usually see 1 empty line in codebases so I'd go with that, Nims style conventions also doesn't mention it: https://nim-lang.org/docs/nep1.html |
21:08:47 | _0ffh | just installed ocl-icd-opencl-dev (was selected when i "apt install opencl-dev"), but no difference |
21:11:24 | _0ffh | also nvidia-opencl-dev now, still no difference. also, "undeclared identifier" sounds like a different kind of trouble. |
21:11:42 | anamok | zetashift: thanks |
21:12:20 | _0ffh | i compiled the latest version of nim from github, might it be that the language has moved on in some way? |
21:13:56 | Tortice | you're right, I get the same error with 'choosenim devel' |
21:14:00 | Tortice | works fine on stable |
21:14:08 | deepend | _0ffh: nimcl failed to install on 0.19.0 linux for me |
21:14:19 | * | aziz joined #nim |
21:14:38 | _0ffh | thanks i suppose i will move to stable then |
21:16:14 | * | sophomeric joined #nim |
21:16:17 | * | Vladar quit (Remote host closed the connection) |
21:16:38 | * | sophomeric quit (Remote host closed the connection) |
21:17:28 | * | aziz quit (Client Quit) |
21:17:48 | Tortice | stable being 18.0, I was on an old version, sorry |
21:17:56 | Tortice | broken with 19.0 |
21:18:38 | FromGitter | <kayabaNerve> How do I pass an async proc? |
21:18:41 | _0ffh | okay, also thank you for pointing me towards choosenim, i think i'll be installing that now! ;-) |
21:18:54 | FromGitter | <kayabaNerve> `proc (client: AsyncSocket) {.async.}` throws an error. |
21:32:48 | * | andrewschoen joined #nim |
21:37:44 | * | andrewschoen quit (Killed (Sigyn (Spam is off topic on freenode.))) |
21:42:04 | * | _0ffh left #nim (#nim) |
21:51:15 | * | skellock quit (Ping timeout: 244 seconds) |
21:54:42 | * | PMunch joined #nim |
21:57:14 | * | skellock joined #nim |
21:57:47 | PMunch | Hmm, this comment has a good point: https://www.reddit.com/r/programming/comments/9jdfwe/nim_version_0190_released/e6t4o3d/?context=3 |
21:58:10 | PMunch | Would it be possible to make optional strings and sequences a "free" type |
21:58:38 | PMunch | Kinda like how pointers are handled |
22:03:01 | * | MarderIII quit (Quit: Leaving) |
22:04:54 | FromGitter | <mratsim> @adam-r-kowalski regarding openarray as concept https://github.com/nim-lang/Nim/issues/6528, but instead of a concept the main idea today is to make that a first class type https://github.com/nim-lang/Nim/issues/9001 |
22:05:45 | FromGitter | <mratsim> @vivekimsit you can check on irclogs.nim-lang.com or something, otherwise it’s CryptoZombies from Loom Network |
22:06:30 | FromGitter | <alehander42> ah somuch name sensitivity bike shedding |
22:07:08 | FromGitter | <alehander42> needs the "this babe can take so much "but .. inconsistent naming!!!" comments" meme |
22:18:30 | FromGitter | <zetashift> Maybe add it to the https://nim-lang.org/faq.html (also why isn't the FAQ in the navbar links?) |
22:20:42 | * | edcragg16 joined #nim |
22:29:09 | * | edcragg16 quit (Ping timeout: 268 seconds) |
22:30:45 | FromGitter | <mratsim> 1) 19 updated bench coming soon: https://github.com/frol/completely-unscientific-benchmarks/issues/66 |
22:37:43 | FromDiscord_ | <deech> Do the docs include inferred pragmas by default? For instance `proc get[T](self: Option[T]): T` says in the documentation that it throws an exception but doesn't have a clickable `{...}` that expands to `{.raises [UnpackError]}` as I would have expected. |
22:38:06 | FromDiscord_ | <deech> Do the docs include inferred pragmas by default? For instance `proc get[T](self: Option[T]): T` says in the documentation that it throws an exception but doesn't have a clickable `{...}` that expands to `{.raises [UnpackError] .}` as I would have expected. |
22:38:14 | anamok | bye |
22:38:18 | * | anamok quit (Remote host closed the connection) |
22:38:39 | FromDiscord_ | <deech> These are docs built from the head of `devel`. |
22:38:51 | * | tzui joined #nim |
22:38:58 | FromGitter | <zetashift> @mratsim "D demonstrated the best performance among garbage-collected solutions" wow I thought it'd be a tie atleast with Nim |
22:39:19 | * | couven92 quit (Read error: Connection reset by peer) |
22:39:45 | FromDiscord_ | <deech> This is in the `options` module, forgot to include that, sorry. |
22:41:11 | * | tzui quit (Client Quit) |
22:42:26 | * | tzui joined #nim |
22:44:24 | * | tzui quit (Client Quit) |
22:45:20 | FromGitter | <mratsim> @zetashift it should mostly fixed in 0.19: https://dendibakh.github.io/blog/2018/01/18/Code_alignment_issues |
22:45:43 | * | tzui joined #nim |
22:46:45 | FromGitter | <mratsim> argh |
22:46:47 | FromGitter | <mratsim> wrong link |
22:46:51 | FromGitter | <mratsim> https://github.com/nim-lang/Nim/issues/8745 |
22:47:36 | FromGitter | <mratsim> on my computer {.noInit.} made frol’s benchmark 1.82x faster on 0.18 |
22:54:29 | * | tzui quit (Quit: My MacBook has gone to sleep. ZZZzzz…) |
22:54:47 | * | tzui joined #nim |
22:54:48 | * | tzui quit (Client Quit) |
22:57:29 | * | Tortice quit (Remote host closed the connection) |
23:02:21 | * | bankai_23 joined #nim |
23:06:43 | * | nsf quit (Quit: WeeChat 2.2) |
23:07:07 | * | zodiac5 joined #nim |
23:07:51 | * | bankai_23 quit (Killed (Sigyn (Spam is off topic on freenode.))) |
23:08:11 | * | zodiac5 quit (Remote host closed the connection) |
23:11:12 | * | krux02 quit (Remote host closed the connection) |
23:19:28 | FromGitter | <alehander42> i think something like nimfmt can be the only succesful response to all the 'flexible identifier' backlash |
23:20:55 | FromGitter | <alehander42> sadly, you can't convince masses of people with paragraphs, one needs a very simple response |
23:21:24 | * | PMunch quit (Remote host closed the connection) |
23:22:51 | FromGitter | <alehander42> (e.g. "just use nimpretty: formatting of *a project* is always consistent *thanks to flexible naming*") |
23:24:25 | FromGitter | <kayabaNerve> Since, I've updated to 0.19, my code is blocking. |
23:24:37 | FromGitter | <kayabaNerve> *Since I've *my async code is blocking. |
23:28:41 | FromGitter | <kayabaNerve> I have an async function call a sync function which calls an async function (with `asyncCheck`) which has a `while true:` loop. The 1st async function used to resume after the sync function called the 2nd async function and returned. Now, it gets stuck inside the 2nd async function. |
23:50:59 | * | cougar_ joined #nim |
23:52:46 | * | RatRiot joined #nim |
23:54:08 | * | cougar_ quit (Read error: Connection reset by peer) |
23:55:36 | * | RatRiot quit (Client Quit) |
23:59:13 | * | LeoNerd24 joined #nim |